Control.Invoke メソッド (Delegate)
コントロールの基になるウィンドウ ハンドルを所有するスレッド上で、指定したデリゲートを実行します。
Overloads Public Function Invoke( _
ByVal method As Delegate _) As Object
[C#]
public object Invoke(Delegatemethod);
[C++]
public: Object* Invoke(Delegate* method);
[JScript]
public function Invoke(
method : Delegate) : Object;
パラメータ
- method
コントロールのスレッド コンテキストで呼び出されるメソッドを格納しているデリゲート。
戻り値
呼び出されているデリゲートからの戻り値。デリゲートに戻り値がない場合は null 参照 (Visual Basic では Nothing) 。
解説
コントロールのハンドルがまだ存在しない場合、このメソッドはコントロールの親チェインを検索し、ウィンドウ ハンドルを持つコントロールまたはフォームを見つけます。適切なハンドルが見つからない場合、 Invoke メソッドは例外をスローします。呼び出し中に発生する例外は、呼び出し元まで反映されます。
メモ スレッドから安全に呼び出される 4 つのメソッド、 Invoke 、 BeginInvoke 、 EndInvoke 、および CreateGraphics がコントロール上にあります。その他のすべてのメソッドの呼び出しについては、Invoke メソッドの 1 つを使用して、その呼び出しをコントロールのスレッドにマーシャリングする必要があります。
デリゲートは、 EventHandler のインスタンスである場合もあります。その場合は、送信元のパラメータにこのコントロールが含まれ、イベント パラメータには EventArgs.Empty が含まれます。デリゲートは MethodInvoker のインスタンス、または空のパラメータ リストをとるその他のデリゲートである場合もあります。 EventHandler デリゲートまたは MethodInvoker デリゲートの呼び出しの方が、別の種類のデリゲートの呼び出しよりも高速に実行されます。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
Control クラス | Control メンバ | System.Windows.Forms 名前空間 | Control.Invoke オーバーロードの一覧 | MethodInvoker | InvokeRequired