C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 100 を表示中)
■59604 / )  Controlへのスレッドセーフなアクセスについて
□投稿者/ human (1回)-(2011/06/01(Wed) 23:03:21)

分類:[.NET 全般] 

こんにちは。よろしくお願いします。

【開発環境】
C#
.NetFW4.0

【やりたいこと】
FormのShownイベント内でスレッドを生成し、
そのスレッドで計算した結果をFormに貼付けされているTextBoxに表示したい。

【困っていること】
Invokeなどを使用して、上記の処理は実現できたのですが、
スレッドで計算をしている途中に
×ボタンなどで、そのFormを閉じられてしまうと、
”ウィンドウ ハンドルが作成される前、コントロールで Invoke または BeginInvoke を呼び出せません。”
の例外が発生する。

【試してみたこと】
if (base.IsHandleCreated && !base.IsDisposed)
{
処理
}
のように、2つのプロパティを使ってみましたが、
やはり例外が発生します。

----
計算途中に×ボタンが押された場合などは、TextBoxに書き込みなどをする必要がなくなるので、
その処理を行わないようにしたいのですが、
どうプログラミングすればよいのでしょうか?

ご存じの方、どうぞご教示ください。
返信 編集キー/


管理者用

- Child Tree -