Gewusst wie: Unterstützen von COM-Interop durch Anzeigen eines Windows Forms mit der ShowDialog-Methode

Aktualisiert: November 2007

Sie können Probleme mit der COM (Component Object Model)-Interoperabilität lösen, indem Sie das Windows Form in einer .NET Framework-Meldungsschleife anzeigen, die mit der Application.Run-Methode erstellt wird.

Damit ein Formular über eine COM-Clientanwendung ordnungsgemäß funktioniert, müssen Sie es in einer Windows Forms-Meldungsschleife ausführen. Verwenden Sie hierfür einen der folgenden Ansätze:

Prozedur

Die Form.ShowDialog-Methode ist wahrscheinlich die einfachste Möglichkeit zum Anzeigen eines Formulars in einer .NET Framework-Meldungsschleife, da bei diesem Ansatz am wenigsten Code implementiert werden muss.

Die Form.ShowDialog-Methode unterbricht die Meldungsschleife der nicht verwalteten Anwendung und zeigt das Formular als Dialogfeld an. Da die Meldungsschleife der Hostanwendung unterbrochen wurde, wird mit der Form.ShowDialog-Methode eine neue .NET Framework-Meldungsschleife erstellt, um die Meldungen des Formulars zu verarbeiten.

Der Nachteil der Form.ShowDialog-Methode besteht darin, dass das Formular als modales Dialogfeld geöffnet wird. Dieses Verhalten blockiert jede Benutzeroberfläche (UI) in der aufrufenden Anwendung, solange das Windows Form geöffnet ist. Wenn der Benutzer das Formular schließt, wird die .NET Framework-Meldungsschleife geschlossen und die Meldungsschleife der früheren Anwendung wieder ausgeführt.

Sie können eine Klassenbibliothek in Windows Forms erstellen, die über eine Methode zum Anzeigen des Formulars verfügt, und anschließend die Klassenbibliothek für COM-Interop erstellen. Sie können diese DLL-Datei in Visual Basic 6.0 oder Microsoft Foundation Classes (MFC) verwenden und in beiden Umgebungen die Form.ShowDialog-Methode zum Anzeigen des Formulars aufrufen.

So unterstützen Sie COM-Interop durch Anzeigen eines Windows Forms mit der ShowDialog-Methode

  • Ersetzen Sie alle Aufrufe der Form.Show-Methode durch Aufrufe der Form.ShowDialog-Methode in der .NET Framework-Komponente.

Siehe auch

Aufgaben

Gewusst wie: Unterstützen von COM-Interop durch das Anzeigen einzelner Windows Forms in einem eigenen Thread

Gewusst wie: Unterstützen von COM-Interop durch Anzeigen von Windows Forms in einem freigegebenen Thread

Konzepte

Verfügbarmachen von .NET Framework-Komponenten in COM

Weitere Ressourcen

Windows Forms und nicht verwaltete Anwendungen