Condividi tramite


Struttura del programma e flusso di esecuzione

Aggiornamento: novembre 2007

Quando si crea un'applicazione C#, è possibile scegliere tra un'applicazione console e un'applicazione Windows Form. Le differenze tra le due applicazioni non riguardano solo il tipo dell'interfaccia utente, ma anche il flusso di esecuzione.

Applicazioni Windows Form

In una tipica applicazione per Windows con interfaccia utente grafica la maggior parte delle operazioni successive all'avvio iniziale si verifica in risposta a operazioni eseguite dall'utente, ad esempio lo spostamento del mouse, la selezione di un'opzione di menu o la digitazione di testo. Queste operazioni attivano, all'interno dell'applicazione, eventi e metodi speciali denominati gestori eventi. Quasi tutte le operazioni eseguite in un programma per Windows sono avviate da un gestore eventi. Se non vengono generati eventi, il programma non esegue alcuna operazione.

Se si utilizzano abitualmente i linguaggi di programmazione procedurali, ad esempio COBOL, BASIC o FORTRAN, sarà necessario abituarsi al modello basato su eventi. A differenza dei linguaggi di programmazione procedurali, la programmazione basata su eventi consente infatti di utilizzare altro software e lo stesso sistema operativo per chiamare metodi per la gestione eventi all'interno dell'applicazione, anche se non si conoscono i metodi che verranno chiamati. È possibile stabilire gli eventi da gestire nell'applicazione, ma non conoscere in anticipo l'ordine esatto con cui tali eventi si verificheranno.

In una tipica applicazione per Windows i campi, le matrici e gli insiemi che contengono lo stato dell'applicazione vengono inseriti nella classe Form principale, denominata Form1 per impostazione predefinita. Nell'ambito della classe questi membri sono accessibili da tutti i metodi per la gestione eventi implementati nella stessa classe Form. Quando viene chiamato un gestore eventi, è possibile che vengano eseguite operazioni per la modifica dei dati dell'applicazione. Quando invece il metodo viene restituito, l'applicazione torna allo stato di attesa. Un form può, ad esempio, contenere un controllo TextBox e un pulsante Update. Quando l'utente fa clic sul pulsante, il gestore eventi dell'applicazione può ad esempio recuperare il testo nel controllo TextBox, quindi aggiungerlo a un elenco di altre stringhe archiviate nell'ambito della classe. Dopo l'aggiunta della stringa, l'applicazione torna allo stato di attesa. Altri gestori eventi possono eseguire altri tipi di operazioni sullo stesso elenco di stringhe in risposta all'input dell'utente.

È possibile utilizzare le classi personalizzate per l'invio e la ricezione di eventi tramite gli stessi meccanismi di Windows Form. Per ulteriori informazioni, vedere Delegati (Guida per programmatori C#).

Applicazioni console

In molte applicazioni console il flusso di esecuzione procede da un'istruzione a quella successiva fino a quando non viene raggiunta la fine del programma e l'applicazione viene terminata. Esistono naturalmente eccezioni a tale regola, in quanto un'applicazione console può essere basata su eventi di tastiera e di sistema generati da oggetti quali timer e connessioni di rete. Le applicazioni console semplici sono spesso costituite da un'unica classe, ovvero quella che contiene il metodo Main. Applicazioni più complesse possono tuttavia contenere un numero qualsiasi di classi.

Ulteriori informazioni

Il modo migliore per studiare la struttura di programmi C# consiste nell'esaminare gli esempi di codice disponibili in Visual C# Samples sul sito Web Visual C# Developer Center (informazioni in lingua inglese) e in altri siti Web.

Vedere anche

Attività

Procedura: creare una nuova applicazione Visual C# Express

Concetti

Nozioni di base del linguaggio C#

Ordine degli eventi in Windows Form

Eventi mouse in Windows Form