今、タイマーの中にテキストボックスを入れて数字を表示したかったのですが、下記のようなエラーが出たので、
エラーメッセージ・・・System.InvalidOperationException: '有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'Message_textBox' がアクセスされました。'
delegateを利用し、その先でテキストボックスの表示更新を行っています。
ただ、デバッグして、Form1をクローズした際に、下記のエラーが出てます。
エラーメッセージ・・・System.ObjectDisposedException: '破棄されたオブジェクトにアクセスできません。
このエラーはどうしたら消えますでしょうか?
ちなみに下記がコードの一部です。
private void TimerHandler(object sender, ElapsedEventArgs e)
{
・・・・・
Thread t = new Thread(new ThreadStart(anotherThread));
t.Start();
}
delegate void delegate1(String detail_data);
void setFocus(String detail_data)
{
Message_textBox.Text = detail_data;
Message_textBox.Focus();
}
void anotherThread()
{
Invoke(new delegate1(setFocus), detail_data);
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/10 06:42
2017/10/10 23:25
2017/10/11 04:45