Control.Invoke メソッド (Delegate, Object )
コントロールの基になるウィンドウ ハンドルを所有するスレッド上で、指定した引数リストを使用して、指定したデリゲートを実行します。
Overloads Public Overridable Function Invoke( _
ByVal method As Delegate, _ ByVal args() As Object _) As Object Implements ISynchronizeInvoke.Invoke
[C#]
public virtual object Invoke(Delegatemethod,object[] args);
[C++]
public: virtual Object* Invoke(Delegate* method,Object* args __gc[]);
[JScript]
public function Invoke(
method : Delegate,args : Object[]) : Object;
パラメータ
- method
args パラメータに指定されている数および型と同じ数および型のパラメータをとるメソッドへのデリゲート。 - args
指定したメソッドに引数として渡すオブジェクトの配列。メソッドが引数をとらない場合、このパラメータは null 参照 (Visual Basic では Nothing) になります。
戻り値
呼び出されているデリゲートからの戻り値を格納している Object 。デリゲートに戻り値がない場合は 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 ファミリ
参照
Control クラス | Control メンバ | System.Windows.Forms 名前空間 | Control.Invoke オーバーロードの一覧 | MethodInvoker | InvokeRequired