Porady: obsługa międzyoperacyjności w modelu COM za pomocą wyświetlania formularzy systemu Windows przy użyciu metody ShowDialog

Problemy ze współdziałaniem modelu obiektów składników (COM) można rozwiązać, wyświetlając formularz systemu Windows w pętli komunikatów programu .NET Framework, która jest tworzona Application.Run przy użyciu metody .

Aby formularz działał poprawnie z poziomu aplikacji klienckiej COM, należy uruchomić go w pętli komunikatów windows Forms. W tym celu należy użyć jednej z następujących metod:

Procedura

Form.ShowDialog Użycie metody może być najprostszym sposobem wyświetlania formularza w pętli komunikatów programu .NET Framework, ponieważ we wszystkich podejściach wymagany jest najmniej kod do zaimplementowania.

Metoda Form.ShowDialog zawiesza pętlę komunikatów niezarządzanej aplikacji i wyświetla formularz jako okno dialogowe. Ponieważ pętla komunikatów aplikacji hosta została zawieszona, Form.ShowDialog metoda tworzy nową pętlę komunikatów programu .NET Framework w celu przetwarzania komunikatów formularza.

Wadą Form.ShowDialog użycia metody jest to, że formularz zostanie otwarty jako modalne okno dialogowe. To zachowanie blokuje dowolny interfejs użytkownika w aplikacji wywołującej, gdy formularz systemu Windows jest otwarty. Gdy użytkownik zakończy formularz, pętla komunikatów programu .NET Framework zostanie zamknięta, a wcześniejsza pętla komunikatów aplikacji ponownie zacznie działać.

Bibliotekę klas można utworzyć w formularzach systemu Windows, która zawiera metodę wyświetlania formularza, a następnie skompilować bibliotekę klas dla międzyoperajności modelu COM. Możesz użyć tego pliku DLL z klas Visual Basic 6.0 lub Microsoft Foundation (MFC), a z dowolnego z tych środowisk można wywołać metodę Form.ShowDialog w celu wyświetlenia formularza.

Aby obsługiwać współdziałanie modelu COM, wyświetlając formularz systemu Windows za pomocą metody ShowDialog

Zobacz też