共用方式為


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

您可以在 .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

概念

將 .NET Framework 元件公開給 COM

其他資源

Windows Form 和 Unmanaged 應用程式