Guida per desktop (Windows Forms .NET)

Benvenuti nella Guida per desktop di Windows Forms, un framework dell'interfaccia utente che crea app client desktop elaborate per Windows. La piattaforma di sviluppo Windows Forms supporta un ampio set di funzionalità per lo sviluppo di app, inclusi controlli, grafica, associazione di dati e input utente. Windows Forms offre una finestra di progettazione visiva con trascinamento in Visual Studio per creare facilmente app Windows Forms.

Importante

La documentazione di Desktop Guide per .NET 7 e .NET 6 è in fase di costruzione.

Esistono due implementazioni di Windows Forms:

  1. Implementazione open source ospitata in GitHub.

    Questa versione viene eseguita in .NET 6+. La finestra di progettazione grafica di Windows Forms richiede almeno Visual Studio 2019 versione 16.8.

    La versione più recente è Windows Forms per .NET 7 usando Visual Studio 2022 versione 17.4.

  2. Implementazione di .NET Framework 4 supportata da Visual Studio 2022, Visual Studio 2019 e Visual Studio 2017.

    .NET Framework 4 è una versione di .NET solo per Windows ed è considerato un componente del sistema operativo Windows. Questa versione di Windows Forms viene distribuita con .NET Framework.

Questa Guida per desktop viene scritta per Windows Forms in .NET 5 e versioni successive. Per altre informazioni sulla versione di .NET Framework di Windows Forms, vedere Windows Forms per .NET Framework.

Introduzione

Windows Forms è un framework di interfaccia utente per la creazione di app desktop per Windows. Offre uno dei modi più produttivi per creare app desktop basate sulla finestra di progettazione grafica fornita in Visual Studio. Funzionalità come la selezione dei controlli visivi con trascinamento della selezione semplificano la creazione di app desktop.

Con Windows Forms è possibile sviluppare app grafiche avanzate facili da distribuire, aggiornare e usare quando si è offline o quando si è connessi a Internet. Le app Windows Forms possono accedere all'hardware locale e al file system del computer in cui è in esecuzione l'app.

Per informazioni su come creare un'app Windows Forms, vedere Esercitazione: Creare una nuova app WinForms.

Perché eseguire la migrazione da .NET Framework

Windows Forms per .NET offre nuove funzionalità e miglioramenti su .NET Framework. Per altre informazioni, vedere Novità di Windows Forms per .NET 7. Per informazioni su come aggiornare un'app, vedere Come aggiornare un'app desktop Windows Forms a .NET 7

Creare interfacce utente avanzate e interattive

Windows Form è una tecnologia dell'interfaccia utente per .NET, un set di librerie gestite che semplificano l'esecuzione di attività comuni delle app come la lettura e la scrittura nel file system. Usando un ambiente di sviluppo come Visual Studio, è possibile creare app Smart Client Windows Forms che visualizzano informazioni, richiedono l'input degli utenti e comunicano con computer remoti attraverso una rete.

In Windows Forms un modulo è una superficie visiva sulla quale è possibile visualizzare informazioni per l'utente. Per compilare app Windows Forms, in genere si aggiungono i controlli nei form e quindi si definiscono le risposte alle azioni degli utenti, ad esempio i clic con il mouse o le pressioni dei tasti. Un controllo è un elemento separato dell'interfaccia utente usato per visualizzare dati o accettare input di dati.

Quando un utente esegue un'azione nel form o in uno dei controlli, viene generato un evento. L'app reagisce a tali eventi con il codice ed elabora gli eventi quando si verificano.

Windows Form contiene diversi controlli che possono essere inseriti nei form, ad esempio i controlli che visualizzano caselle di testo, pulsanti, caselle di riepilogo a discesa, pulsanti di opzione e persino pagine Web. Se un controllo esistente non dovesse soddisfare le proprie esigenze, Windows Form consente anche di creare controlli personalizzati usando la classe UserControl.

Windows Form dispone di controlli UI completi che simulano le funzionalità delle app di fascia alta quali Microsoft Office. Usando i controlli ToolStrip e MenuStrip è possibile creare barre degli strumenti e menu contenenti testo e immagini, visualizzare sottomenu nonché includere altri controlli, ad esempio caselle di testo e caselle combinate.

Usando la funzionalità di trascinamento della selezione disponibile in Progettazione Windows Form di Visual Studio, è possibile creare facilmente app Windows Form. È sufficiente selezionare i controlli con il cursore e posizionarli nel punto desiderato del form. Per facilitare l'allineamento dei controlli, nella finestra di progettazione vengono forniti strumenti quali linee della griglia e guide di allineamento. È possibile usare i controlli FlowLayoutPanel, TableLayoutPanel e SplitContainer per creare layout di form avanzati in meno tempo.

Infine, se è necessario creare elementi dell'interfaccia utente personalizzati, lo spazio dei nomi System.Drawing contiene diverse classi che consentono di creare linee, cerchi e altre forme direttamente in un form.

Creare form e controlli

Per informazioni dettagliate sull'uso di queste funzionalità, vedere i seguenti argomenti della Guida.

Visualizzare e modificare i dati

Molte app devono visualizzare i dati da un database, da un file XML o JSON, da un servizio Web o da altre origini dati. In Windows Form viene fornito un controllo denominato DataGridView che consente di visualizzare dati tabulari in un formato tradizionale basato su righe e colonne, in modo che ciascun blocco di dati occupi una singola cella. Usando DataGridView è possibile personalizzare l'aspetto delle singole celle, bloccare righe e colonne arbitrarie nonché visualizzare controlli complessi all'interno delle celle.

Il collegamento alle origini dati tramite una rete è un'attività semplice con Windows Form. Il componente BindingSource rappresenta una connessione a un'origine dati ed espone metodi per l'associazione di dati a controlli, lo spostamento ai record precedenti e successivi, la modifica di record e il salvataggio delle modifiche fino all'origine iniziale. Il controllo BindingNavigator fornisce un'interfaccia semplice tramite il componente BindingSource per gli utenti per spostarsi tra i record.

È possibile creare facilmente controlli con associazione a dati usando la finestra Origini dati in Visual Studio, in cui vengono visualizzate origini dati quali database, servizi Web e oggetti contenuti nel progetto. È possibile creare controlli associati a dati mediante il trascinamento di elementi da questa finestra nei form del progetto. È anche possibile connettere i controlli esistenti ai dati mediante il trascinamento di oggetti dalla finestra Origini dati nei controlli esistenti.

Un altro tipo di data binding che è possibile gestire in Windows Forms sono le impostazioni. La maggior parte delle app deve conservare alcune informazioni relative al proprio stato in fase di esecuzione, ad esempio le ultime dimensioni note dei form, e conservare i dati relativi alle preferenze dell'utente, ad esempio le posizioni predefinite per i file salvati. La funzionalità Impostazioni applicazione risolve queste problematiche offrendo un modo semplice per archiviare entrambi i tipi di impostazioni sul computer client. Una volta definite mediante Visual Studio o un editor di codice, queste impostazioni vengono salvate in modo permanente come XML e rilette automaticamente in memoria in fase di esecuzione.

Distribuire app nei computer client

Una volta scritta, l'app deve essere inviata agli utenti in modo che possano installarla ed eseguirla sui propri computer client. Quando si usa la tecnologia ClickOnce, è possibile distribuire le app dall'interno di Visual Studio con alcuni semplici clic e fornire agli utenti un indirizzo URL che punta all'app sul Web. ClickOnce gestisce tutti gli elementi e le dipendenze dell'app e garantisce la corretta installazione dell'app nel computer client.

Le app ClickOnce possono essere configurate per essere eseguite solo quando l'utente è connesso alla rete oppure per essere eseguite sia online che offline. Quando si specifica che un'app deve supportare l'esecuzione offline, ClickOnce aggiunge un collegamento all'app nel menu Start. In questo modo, l'utente può aprire l'app senza usare l'URL.

Quando si aggiorna l'app, vengono pubblicati un nuovo manifesto della distribuzione e una nuova copia dell'app sul server Web. ClickOnce rileverà la disponibilità di un aggiornamento e aggiornerà l'installazione dell'utente. Non è necessaria alcuna programmazione personalizzata per aggiornare le app precedenti.

Vedi anche