• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:自作クラスのイベントを外部ハンドラでスレッドセーフ)

自作クラスのイベントを外部ハンドラでスレッドセーフにする方法

このQ&Aのポイント
  • 自作クラスのイベントを外部ハンドラでスレッドセーフにする方法を紹介します
  • .NETモジュールプロジェクトとWindows Formアプリケーションプロジェクトを含むソリューションを作成しました
  • 実行時にエラーが発生し、スレッド間の操作が無効であるというメッセージが表示されます

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

別スレッドで動作するタイマーによってイベントが発生するのが仕様なのですから, それにあわせて使う側が処理します。 ControlをUIスレッド以外から扱うことはできません。 具体的には,barの中でControl.InvokeRequiredが真であれば, Control.InvokeまたはControl.BeginInvokeを呼び出して, その中でControlへアクセスする,というものです。 ButtonやFormのイベントは,UIスレッド上で発生します。 そのため,スレッドの問題は関係してきません。

sumire_kanou
質問者

お礼

遅くなりましたが回答ありがとうございました

関連するQ&A