HOW TO:顯示 Windows Form 和 ShowDialog 方法以支援 COM Interop
您可以在 .NET Framework 訊息迴圈上顯示 Windows Form,藉此解決元件物件模型 (Component Object Model,COM) 的互通性問題,此訊息迴圈則是使用 Application.Run 方法建立而成。
為了讓表單能夠在 COM 用戶端應用程式中正確運作,您必須在 Windows Form 訊息迴圈上執行它。 若要這麼做,請使用下列其中一種方法:
使用 Form.ShowDialog 方法以顯示 Windows Form
在個別的執行緒上顯示每一個 Windows Form。 如需詳細資訊,請參閱 HOW TO:在自己的執行緒上顯示每個 Windows Form 以支援 COM Interop。
程序
使用 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
- 在 .NET Framework 元件中,使用對 Form.ShowDialog 方法的呼叫來取代對 Form.Show 方法的所有呼叫
請參閱
工作
HOW TO:在自己的執行緒上顯示每個 Windows Form 以支援 COM Interop