在建立控制項基礎控制代碼的執行緒上,以指定的引數非同步執行指定的委派。
<b>Overloads Public Overridable Function BeginInvoke( _
ByVal </b><span style="color:darkred;">method</span><b> As </b&gDelegate<b>, _</b>
<b> ByVal </b><span style="color:darkred;">args</span><b>() As </b&gObject<b> _</b>
<b>) As </b&gIAsyncResult<b> Implements ISynchronizeInvoke.BeginInvoke</b>
<span class="lang">[C#]
</span><b>public virtual </b&gIAsyncResult<b> BeginInvoke(</b>
<b> </b&gDelegate<b> </b><span style="color:darkred;">method</span><b>,</b>
<b> </b&gobject<b>[] </b><span style="color:darkred;">args</span>
<b>);</b>
<span class="lang">[C++]
</span><b>public: virtual </b&gIAsyncResult<b>* BeginInvoke(</b>
<b> </b&gDelegate<b>* </b><span style="color:darkred;">method</span><b>,</b>
<b> </b&gObject<b>* </b><span style="color:darkred;">args</span><b> __gc[]</b>
<b>);</b>
<span class="lang">[JScript]
</span><b>public function BeginInvoke(
</b><span style="color:darkred;">method</span><b> : </b&gDelegate<b>,</b>
<b> </b><span style="color:darkred;">args</span><b> : </b&gObject<b>[]</b>
<b>) : </b&gIAsyncResult<b>;</b>
參數
- method
- 方法的委派,採用和 args 參數中包含者相同的數字和型別的參數。
- args
- 作為引數傳遞至指定方法的物件陣列。如果不需要引數,則這個可為 Null。
傳回值
表示 BeginInvoke 作業結果的 IAsyncResult 物件。
實作
ISynchronizeInvoke.BeginInvoke
備註
非同步呼叫委派,並且立即傳回這個方法。您可以從任何執行緒呼叫這個方法,即使是擁有控制項控制代碼的執行緒。如果控制項的控制代碼尚未存在,這個方法會搜尋控制項的父代鏈結,直到找到具有視窗控制代碼的控制項或表單。如果找不到適當的控制代碼, BeginInvoke 會擲回例外狀況。委派方法中的例外狀況視為未截獲,會傳送到應用程式的未截獲例外處理常式。
注意 BeginInvoke 方法在不同執行緒集區執行緒上會再次呼叫指定的委派。您不應中斷任何時間長度的執行緒集區執行緒。
注意 控制項上可安全從任何執行緒呼叫的有四種方法: Invoke 、 BeginInvoke 、 EndInvoke 和 CreateGraphics 。至於其他所有的方法呼叫,則應使用其中一個叫用方法,將呼叫封送處理至控制項的執行緒。
需求
平台: 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