• 15 Marzo 2008
  • 1 Stella2 Stelle3 Stelle4 Stelle5 Stelle Nessun voto

Gestire un Evento in C#

Ci sono vari modi di gestire un evento in C#.
Di sicuro il più usato, anche perché fatto in automatico dal Visual Studio o anche da SharpDevelop, è quello di creare una nuova funzione che viene eseguita all’attivarsi dell’evento, vediamo un esempio con l’evento Load di un Windows Form:


/* L’evento viene gestito di default nell’InitializeComponent, assegnandogli un EventHandler e passando come argomento la funzione Form1_Load */
this.Load += new System.EventHandler(this.Form1_Load);

//Al verificarsi dell’evento Load viene quindi richiamata questa funzione:
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show(”Form Loaded!”);
}

Questa modalità ha senza dubbio il vantaggio di essere chiara e soprattutto, come detto prima, viene scritta in automatico da molti IDE.

Quando le istruzioni da fare, però, sono abbastanza poche, come nel caso dell’unico MessageBox visto sopra, si può prendere in considerazione di usare un delegate anonimo.
Ecco come diventerebbe l’esempio di sopra:



this.Load += delegate
{
MessageBox.Show(”Form Loaded!”);
};

In questa maniera si rende il tutto molto più veloce e compatto.
Inoltre, se abbiamo bisogno di usare gli argomenti passati alla funzione, è possibile farlo anche con il delegate, vediamo:


this.Load += delegate(object sender, EventArgs e)
{
MessageBox.Show(”Form Loaded!”);
};

RSScommenti all'articolo (0)

scrivi commento

Nome:

Email:

Url:




E’ con immensa soddisfazione che comunico che mondoinformatico.info ha superato i 1.000 articoli pubblicati!

Ebbene si, sembra incredibile ma tantissimi di voi hanno scritto molti articoli, alcuni molto interessanti, altri meno ma tutti originali, unici e in tema.

Il traguardo…

Ultimi Articoli Commenti

Inserisci il tuo indirizzo e-mail per rimanere aggiornato sulle novità del sito.

  • SONDAGGIO
Che notizie vorresti trovare su mondoinformatico?
Visualizza risultati
  • CRITEO
  • CHATTING

utenti online

Ci sono attualmente 0 utenti e 3 ospiti collegati