次の方法で共有


Control.BeginInvoke メソッド (Delegate)

コントロールの基になるハンドルが作成されたスレッド上で、指定したデリゲートを非同期的に実行します。

Overloads Public Function BeginInvoke( _
   ByVal method As Delegate _) As IAsyncResult
[C#]
public IAsyncResult BeginInvoke(Delegatemethod);
[C++]
public: IAsyncResult* BeginInvoke(Delegate* method);
[JScript]
public function BeginInvoke(
   method : Delegate) : IAsyncResult;

パラメータ

  • method
    パラメータをとらないメソッドへのデリゲート。

戻り値

BeginInvoke 操作の結果を表す IAsyncResult オブジェクト。

解説

デリゲートが非同期的に呼び出され、このメソッドはすぐに制御を戻します。このメソッドは、どのスレッドからも呼び出すことができ、コントロールのハンドルを所有しているスレッドからでも呼び出すことができます。コントロールのハンドルがまだ存在しない場合、このメソッドはコントロールの親チェインを検索し、ウィンドウ ハンドルを持つコントロールまたはフォームを見つけます。適切なハンドルが見つからない場合、 BeginInvoke は例外をスローします。Delegate メソッド内の例外は、トラップされていないと見なされ、アプリケーションのトラップされていない例外ハンドラに送られます。

メモ    BeginInvoke メソッドは、異なるスレッド プールのスレッド上の指定したデリゲートを呼び戻します。スレッド プールのスレッドをブロックしないでください。

メモ   スレッドから安全に呼び出される 4 つのメソッド、 InvokeBeginInvokeEndInvoke 、および CreateGraphics がコントロール上にあります。その他のすべてのメソッドの呼び出しについては、Invoke メソッドの 1 つを使用して、その呼び出しをコントロールのスレッドにマーシャリングする必要があります。

必要条件

プラットフォーム: 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.BeginInvoke オーバーロードの一覧 | IAsyncResult | EndInvoke | Invoke | CreateGraphics | InvokeRequired