テキスト ボックスを設定して表示するフォームがあります。フォーム ロード メソッドでは、完全に別のクラス名から新しいスレッドを開始しています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
、別のクラスからではなく、スレッドと同じクラスのメソッドを使用しています。