共用方式為


HOW TO:顯示 Windows Form 和 ShowDialog 方法以支援 COM Interop

更新:2007 年 11 月

您可以在 .NET Framework 訊息迴圈上顯示 Windows Form,藉此解決元件物件模型 (Component Object Model,COM) 的互通性問題,此訊息迴圈則是使用 Application.Run 方法建立而成。

為了讓表單能夠在 COM 用戶端應用程式中正確運作,您必須在 Windows Form 訊息迴圈上執行它。若要這麼做,請使用下列其中一種方法:

程序

使用 Form.ShowDialog 方法可能是在 .NET Framework 訊息迴圈上顯示表單的一種最簡單的方式,因為在所有方法中,它所需實作的程式碼最少。

Form.ShowDialog 方法會暫止 Unmanaged 應用程式的訊息迴圈,並將表單顯示成對話方塊。因為主應用程式的訊息迴圈已經暫止,所以 Form.ShowDialog 方法會建立新的 .NET Framework 訊息迴圈以處理表單的訊息。

使用 Form.ShowDialog 方法的缺點是表單會被開啟為強制回應對話方塊。當 Windows Form 開啟時,這個行為會封鎖呼叫應用程式中的任何使用者介面 (UI)。當使用者結束表單時,.NET Framework 訊息迴圈便會關閉,而先前應用程式的訊息迴圈會再次開始執行。

您可以在 Windows Form 中建立類別庫,此類別庫具有顯示表單的方法,然後再建置用於 COM Interop 的類別庫。您可以在 Visual Basic 6.0 或 Microsoft Foundation Class (MFC) 中使用這個 DLL 檔,並且可以在這些環境中呼叫 Form.ShowDialog 方法以顯示表單。

若要使用 ShowDialog 方法來顯示 Windows Form 以支援 COM Interop

請參閱

工作

HOW TO:在自己的執行緒上顯示每個 Windows Form 以支援 COM Interop

HOW TO:在共用執行緒上顯示 Windows Form 以支援 COM Interop

概念

將 .NET Framework 元件公開給 COM

其他資源

Windows Form 和 Unmanaged 應用程式