|
分類:[VB.NET/VB2005 以降]
はじめまして。
OS: WinXP SP3 開発環境:VB2008 Express Edtion
Backgroundworkerをフォームに貼り付けて、スレッドで一定時間になるとフォーム再表示をしています。 ・フォームロード時(初期表示)に、スレッドをスタートさせる。 ・DoWorkイベントで、30秒待機(Sleep()) ・RunWorkerCompletedイベントで、フォームリフレッシュ(Me.Refresh())
ある場所をクリックすると、フォームAを消して、フォームBを表示するのですが、 このときにフォームAのスレッドを、CancelAsync()で停止させています。 もちろん、WorkerSupportsCancellationをTrueにしてから。 しかし、フォームAのスレッドが動いているのです。 停止させたのに、なぜ動いているのかわかりません。
1日中、原因を調査していますが、いまだにわかりません。 どなたかご教授頂けないでしょうか? よろしくお願いします。
|