.NET Framework 類別庫
Control.BeginInvoke 方法 (Delegate, Object[])

在建立控制項基礎控制代碼的執行緒上,以指定的引數非同步執行指定的委派。

[Visual Basic]
<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 方法在不同執行緒集區執行緒上會再次呼叫指定的委派。您不應中斷任何時間長度的執行緒集區執行緒。
注意   控制項上可安全從任何執行緒呼叫的有四種方法: InvokeBeginInvokeEndInvokeCreateGraphics 。至於其他所有的方法呼叫,則應使用其中一個叫用方法,將呼叫封送處理至控制項的執行緒。

需求

平台: 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

Page view tracker