私はこのコードを見つけました:
this.Invoke(new EventHandler(EventGetSum));
これは書くことと同じではありませんか:
EventGetSum();
これの用途は何ですか?
と書くEventGetSum()
とすぐに EventGetSum メソッドが呼び出されます。
これを記述new EventHandler(EventGetSum)
すると、呼び出されたときに EventGetSum を (順番に) 呼び出すデリゲートが作成されます。
へのControl.Invoke
呼び出しは、コントロールを担当する UI スレッドから指定されたデリゲートを呼び出します。これは、任意のスレッドから UI 要素にアクセスしてはならないため必要です。
EventGetSum
ウィンドウがthis
属するスレッドでメソッドを実行します。
これは通常、クロススレッド UI 呼び出しを処理するときに使用されます。
ISynchronizeInvoke の MSDN ドキュメントを参照してください。