我有一个设置和显示文本框的表单。在表单加载方法中,我从一个完全独立的类名开始一个新线程Processing
:
private void Form1_Load(object sender, EventArgs e)
{
Processing p = new Processing();
Thread processingThread = new Thread(p.run);
processingThread.Start();
}
这是处理类。我想做的是在Utilities
类中创建一个方法,该方法允许我从我需要的任何类更新文本框:
public class Processing
{
public void run()
{
Utilities u = new Utilities();
for (int i = 0; i < 10; i++)
{
u.updateTextBox("i");
}
}
}
然后终于Utilites
上课了:
class Utilities
{
public void updateTextBox(String text)
{
//Load up the form that is running to update the text box
//Example:
//Form1.textbox.appendTo("text"):
}
}
我已经阅读了Invoke
方法、SynchronizationContext
后台线程和其他所有内容,但几乎所有示例都使用与线程相同的类中的方法Form
,而不是来自单独的类。