Condividi tramite


Differenze tra la programmazione con Windows Form e quella con MFC

Aggiornamento: novembre 2007

Negli argomenti di Utilizzo di un controllo utente Windows Form in MFC viene descritto il supporto MFC per Windows Form. Se non si conosce la programmazione .NET Framework o MFC, in questo argomento verranno fornite informazioni di base sulle differenze di programmazione tra i due componenti.

Windows Form consente di creare applicazioni Microsoft Windows in .NET Framework. Il framework fornisce un insieme di classi moderne, orientate ad oggetti ed estensibili, che consente di sviluppare applicazioni Windows articolate. Grazie ai Windows Form è possibile creare un'applicazione client complessa in grado di accedere a un'ampia varietà di origini dati, nonché fornire strumenti di visualizzazione e di modifica dei dati che utilizzano i controlli Windows Form.

Tuttavia, se si ha familiarità con le applicazioni MFC, è possibile che si sia abituati a creare determinati tipi di applicazioni non ancora supportati in modo esplicito nei Windows Form. Le applicazioni Windows Form equivalgono alle applicazioni basate sulle finestre di dialogo MFC. Tuttavia non forniscono l'infrastruttura per il supporto diretto di altri tipi di applicazioni MFC, quali il server/contenitore di documenti OLE, i documenti ActiveX o il supporto documento/vista per interfacce a documento singolo (SDI, Single-Document Interface), interfacce a documenti multipli (MDI, Multiple-Document Interface) e interfacce multiple di primo livello (MTI, Multiple Top-Level Interface). Per creare queste applicazioni è possibile scrivere una logica personalizzata.

Per ulteriori informazioni sulle applicazioni Windows Form, vedere Introduzione a Windows Form.

Per un'applicazione di esempio che illustri il controllo Windows Form utilizzato con MFC, vedere MFC and WinForms Integration.

Il documento o la visualizzazione MFC e le funzionalità di routing dei comandi elencate di seguito non presentano equivalenti nei Windows Form:

  • Integrazione della shell

    MFC consente di gestire i comandi DDE (Dynamic Data Exchange) e gli argomenti della riga di comando utilizzati dalla shell quando si fa clic con il pulsante destro del mouse su un documento e si selezionano verbi quali Apri, Modifica o Stampa. I Windows Form non includono alcuna integrazione della shell e non rispondono ai verbi della shell.

  • Modelli di documento

    In MFC i modelli di documento consentono di associare al documento aperto una visualizzazione contenuta in una finestra cornice (in modalità MDI, SDI o MTI). Nei Windows Form non è presente alcun equivalente dei modelli di documento.

  • Documenti

    MFC consente di registrare i tipi di file di documento ed elaborare il tipo di documento quando un documento viene aperto dalla shell. In Windows Forms non è previsto alcun supporto per i documenti.

  • Stati del documento

    MFC conserva gli stati modificati del documento. Pertanto quando si chiude l'applicazione, si chiude l'ultima vista contenente l'applicazione, oppure si esce da Windows, viene richiesto il salvataggio del documento in MFC. Nei Windows Form non è previsto alcun supporto equivalente.

  • Comandi

    MFC include il concetto di comando. La barra dei menu, la barra degli strumenti e il menu di scelta rapida consentono tutti di richiamare lo stesso comando, ad esempio Taglia e Copia. Nei Windows Form i comandi sono eventi strettamente associati a un particolare elemento dell'interfaccia utente (quale una voce di menu) ed è pertanto necessario associare tutti gli eventi di comando in modo esplicito. È inoltre possibile gestire più eventi con un singolo gestore. Per ulteriori informazioni, vedere Connessione di più eventi a un singolo gestore eventi in Windows Form.

  • Routing dei comandi

    Il routing dei comandi MFC consente l'elaborazione dei comandi nella visualizzazione o nel documento attivo. Poiché lo stesso comando assume spesso significati differenti a seconda delle visualizzazioni (ad esempio, il comportamento del comando Copia è differente a seconda che si trovi nella visualizzazione di modifica del testo o in un editor grafico), è necessario gestire i comandi dalla visualizzazione attiva. Dal momento che i menu e le barre degli strumenti di Windows Form non sono in grado di riconoscere la visualizzazione attiva, per utilizzare un gestore differente per ciascun tipo di visualizzazione per gli eventi MenuItem.Click, è necessario scrivere prima altro codice interno.

  • Meccanismo di aggiornamento dei comandi

    MFC dispone di un meccanismo di aggiornamento dei comandi. La visualizzazione o il documento attivo è pertanto responsabile dello stato degli elementi dell'interfaccia utente, ad esempio l'attivazione o la disattivazione di una voce di menu o di un pulsante di uno strumento e degli stati di selezione. In Windows Form non è disponibile alcun equivalente di tale meccanismo.

Vedere anche

Riferimenti

Argomenti relativi alle procedure e alle procedure dettagliate di Windows Form

Altre risorse

Utilizzo di un controllo utente Windows Form in MFC