Procedura: supportare l'interoperabilità COM visualizzando un Windows Form con il metodo ShowDialog

È possibile risolvere i problemi di interoperabilità di Component Object Model (COM) visualizzando il Windows Form in un ciclo di messaggi .NET Framework, creato utilizzando il metodo Application.Run.

Per fare in modo che un form funzioni correttamente da un'applicazione client COM, è necessario eseguirlo in un ciclo di messaggi Windows Form. Per eseguire questa operazione, adottare uno degli approcci seguenti:

Procedura

Il metodo Form.ShowDialog può essere il modo più semplice per visualizzare un form in un ciclo di messaggi .NET Framework in quanto, di tutti gli approcci, è quello che richiede l'implementazione della minor quantità di codice.

Il metodo Form.ShowDialog sospende il ciclo di messaggi dell'applicazione non gestita e visualizza il form come una finestra di dialogo. Poiché il ciclo di messaggi dell'applicazione host è stato sospeso, il metodo Form.ShowDialog crea un nuovo ciclo di messaggi .NET Framework per elaborare i messaggi del form.

Lo svantaggio dell'utilizzo del metodo Form.ShowDialog consiste nel fatto che il form viene aperto come finestra di dialogo modale. Questo comportamento blocca eventuali interfacce utente (UI) nell'applicazione che esegue la chiamata mentre il Windows Form è aperto. Quando l'utente esce dal form, il ciclo di messaggi .NET Framework si chiude e il ciclo dell'applicazione precedente viene eseguito di nuovo.

È possibile creare una libreria di classi in Windows Form che dispone di un metodo per la visualizzazione del form, e quindi compilare la libreria di classi per l'interoperabilità COM. È possibile utilizzare questo file DLL da Visual Basic 6.0 o Microsoft Foundation Classes (MFC), e da uno dei due ambienti chiamare il metodo Form.ShowDialog per visualizzare il form.

Per supportare l'interoperabilità COM tramite visualizzazione di un Windows Form con il metodo ShowDialog

  • Sostituire tutte le chiamate al metodo Form.Show con chiamate al metodo Form.ShowDialog nel componente .NET Framework.

Vedere anche

Attività

Procedura: supportare l'interoperabilità COM mediante la visualizzazione di ogni Windows Form nel relativo thread

Concetti

Esposizione di componenti .NET Framework a COM

Altre risorse

Windows Form e applicazioni non gestite