Angella Andrea - Italian Blog

Infinita passione per lo sviluppo software !
posts - 133, comments - 216, trackbacks - 9

My Links

News

MIT OpenCourseWare: I'm invested Wikipedia Affiliate Button


Sto leggendo:

Archives

Post Categories

Siti web realizzati

Siti web tecnici

[70-526] - Gestione degli eventi


Area di riferimento

- Creating a UI for a Windows Forms Applications by Using Standard Controls
    - Create event handlers for Windows Forms and controls


Gesione degli eventi

Una volta selezionato un controllo sulla form, attraverso la Properties Windows è possibile visualizzare tutti gli eventi a cui questo controllo può rispondere (simbolo di un flash giallo).
Un doppio click su un particolare evento comporta l'inserimento automatico di un gestore per quell'evento da parte dell'ambiente di sviluppo.

I principali eventi eventi sollevati dai controlli sono:

  • Click
  • DoubleClick
  • KeyDown, KeyPress, KeyUp per gli eventi della tastiera
  • MouseClick,
  • MouseDoubleClick
  • MoudeDown
  • MouseEnter: sollevato quando il puntatore del mouse entra all'interno di un controllo
  • MouseHover: sollevato quando il puntatore resta sul controllo
  • MouseLeave: sollevato quando il puntatore esce dal controllo
  • MouseMove: sollevato quando il mouse viene mosso sul controllo
  • MouseUp: sollevato quando un pulsante del mouse è rilasciato sul controllo
  • MouseWheel

Vediamo alcuni esempi di gestori di questi eventi:

private void button1_Click(object sender, EventArgs e)
{
    // Codice relativo al click del pulsante
}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    // Leggo il carattere digitato dall'utente
    char c = e.KeyChar;

    // Se è un numero impedisco la sua visualizzazione
    if (Char.IsDigit(c))
    {
        e.Handled = true; 
    }
}

private void panel1_MouseMove(object sender, MouseEventArgs e)
{
    // Leggo le coordinate del mouse relative al controllo
    int x = e.X;
    int y = e.Y;

    if (e.Button == MouseButtons.Left)
    {
        // Hai premuto il tasto sinistro
    }
    else if (e.Button == MouseButtons.Right)
    {
        // Hai premuto il tasto destro
    }
}


E' facile aggiungere e rimuovere event handler a run time utilizzando gli operatori += e -= sull'evento esposto dal controllo. E' possibile anche connettere più eventi a un singolo gestore di evento. In questo caso il gestore dell'evento deve utilizzare l'oggetto sender per sapere qual è il controllo che ha sollevato l'evento.


this.button1.Click += new System.EventHandler(this.button_Click);
this.button2.Click += new System.EventHandler(this.button_Click);
this.button3.Click += new System.EventHandler(this.button_Click);

private void button_Click(object sender, EventArgs e)
{
   Button btn = (Button)sender;

    if (btn == button1)
    {
        MessageBox.Show("Button1");
    }
    else if (btn == button2)
    {
        MessageBox.Show("Button2");
    }
    else if (btn == button3)
    {
        MessageBox.Show("Button3");
    }
}

Print | posted on Wednesday, February 27, 2008 12:34 AM | Filed Under [ Exam 70-526 Windows-Based Client Development ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET