共用方式為


如何使用 ShowDialog 方法顯示 Windows 窗体來支援 COM Interop

您可以在使用 Application.Run 方法建立的 .NET Framework 訊息循環中顯示 Windows 表單,以解決元件物件模型 (COM) 互通性問題。

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

程序

在 .NET Framework 訊息循環上顯示表單的所有方式中,使用 Form.ShowDialog 方法可能是最簡單的,因為只需要最少的程式碼就能實作。

Form.ShowDialog 方法會暫止 Unmanaged 應用程式的訊息迴圈,並將表單顯示成對話方塊。 由於主應用程式的訊息迴圈已暫停, Form.ShowDialog 方法會建立新的 .NET Framework 訊息循環來處理表單的訊息。

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

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

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

另請參閱