プログラムのメインウィンドウであるmainFormというクラスがあります。このクラスにTextBox(このTextBox Logsプログラム)オブジェクトを作成し、それにプログラムステータスを書き込みたい。これはmainFormや他のオブジェクトから(TextBoxオブジェクトを渡すことで)簡単に実行できますが、別のスレッドから実行したい場合は複雑です。ただし、mainFormで定義されたコードを(デリゲートを使用して)実行するスレッドによってTextBoxに書き込んでいます。
私の質問は、別のクラスで実行されているスレッドからTextBoxに書き込む方法は?
public partial class mainForm : Form
{
TextBox log = new TextBox();
.
.
.
OtherClass o = new OtherClass(log);
}
class OtherClass
{
private TextBox log;
public otherClass(TextBox aLog)
{
log = aLog;
Thread thread = new Thrad(new ThreadStart(this.run));
thread.Start();
}
private void run()
{
log.Text = "Message";// I Can't Do This. Can I Use Delegate Here? How?
}
}