投稿者 heaven  (社会人) 投稿日時 2010/12/10 18:19:08
お世話になります。
現在重い処理をBackgroundWorkerコントロールを使って別スレッドで実行後フォームを閉じるプログラムを作っていますが、どうも考えられないエラーが発生して困っております。

DoWork イベント 内でフォームを閉じる命令を行うとInvalidOperationExceptionエラーが発生しますので、スレッドの処理を終えた後のRunWorkerCompletedイベントでフォームを閉じる命令を行ったのですが、
それでも「有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール '(フォーム名)' がアクセスされました。」と出てフォームを閉じられません。

RunWorkerCompleted イベントでもまだ別スレッドとして動作しているのでしょうか?