5

私はこのコードを見つけました:

this.Invoke(new EventHandler(EventGetSum));

これは書くことと同じではありませんか:

EventGetSum();

これの用途は何ですか?

4

3 に答える 3

13

と書くEventGetSum()とすぐに EventGetSum メソッドが呼び出されます。

これを記述new EventHandler(EventGetSum)すると、呼び出されたときに EventGetSum を (順番に) 呼び出すデリゲートが作成されます。

へのControl.Invoke呼び出しは、コントロールを担当する UI スレッドから指定されたデリゲートを呼び出します。これは、任意のスレッドから UI 要素にアクセスしてはならないため必要です。

于 2009-02-27T10:46:40.490 に答える
5

EventGetSumウィンドウがthis属するスレッドでメソッドを実行します。

于 2009-02-27T10:48:00.783 に答える
4

これは通常、クロススレッド UI 呼び出しを処理するときに使用されます。

ISynchronizeInvoke の MSDN ドキュメントを参照してください。

于 2009-02-27T10:48:19.253 に答える