【发布时间】:2011-12-24 14:48:27
【问题描述】:
我正在使用 c# 在 Windows 窗体应用程序项目中工作。有一个名为 MainForm 的图形主窗体,带有一个类似于日志查看器的文本框。此外,还有很多类必须通过文本框发送有关其工作的信息。
我已经在 Program.cs 中有此代码。它创建一个公共成员
public static MainForm mainForm;
public static Main()
{
...
mainForm = new MainForm();
Application.Run(mainForm);
// Application.Run(new MainForm()); I commented this default line
}
在 MainForm.cs 里面我有这个:
public void sendMessage(string message)
{
// puts message in textbox...
}
最后,我可以通过这种方式从另一个类访问:
class otherClass
{
...
private void someFunction(){
...
Program.mainForm.sendMessage("send to log!");
}
}
我怎样才能改变这种行为? 它是否存在另一种更有效的方式?
【问题讨论】:
-
为什么要使用发送消息功能?叫它 mainForm = new MainForm(); 不是更好吗? mainForm.textbox1.text="sometext";
-
好主意,它有效,但我也使用 sendMessage() 将消息添加到日志文件中
-
在主窗体中添加 sendMessage() 函数怎么样?