Condividi tramite


Interazione con l'utente: creazione di un gestore eventi

Aggiornamento: novembre 2007

In questa lezione verrà descritto come creare un gestore eventi.

Come specificato nelle lezioni precedenti, i controlli dispongono di proprietà, metodi ed eventi e vengono utilizzati per creare l'interfaccia utente. Gli eventi sono operazioni significative che possono essere eseguite sui controlli, ad esempio un clic su un controllo, la digitazione di testo in un controllo, il posizionamento del puntatore del mouse su di esso e così via.

Quando si verifica un fatto interessante, il controllo genera un evento, cioè invia un segnala al programma per informarlo dell’accaduto. Il programma verifica quindi se dispone di metodi per la gestione dell'evento, definiti gestori eventi. Un esempio potrebbe essere un metodo che viene eseguito quando viene fatto clic su un pulsante, come quello creato in Interazione con l'utente: utilizzo dei pulsanti.

I controlli possono generare diversi tipi di eventi, ma c'è sempre un evento predefinito per ogni controllo. È possibile creare gestori eventi per svariati eventi dei controlli. In questa lezione, verranno creati gestori eventi per il gestore eventi predefinito di un pulsante, l'evento Click. Si tratta dell'evento che si verifica quando si fa clic sul pulsante. Quindi, verranno creati gestori eventi per gestire gli eventi MouseEnter e MouseLeave del pulsante. Si tratta degli eventi che vengono generati quando un mouse viene spostato su un controllo.

Procedura

Per gestire l'evento Click

  1. Scegliere Nuovo progetto dal menu File.

  2. Nel riquadro Modelli della finestra di dialogo Nuovo progetto fare clic su Applicazione Windows.

  3. Digitare EventHandler nella casella Nome, quindi scegliere OK.

    Verrà aperto un nuovo progetto Windows Form.

  4. Dalla Casella degli strumenti trascinare un controllo Button nel form.

  5. Nella finestra Proprietà impostare la proprietà AutoSize su True.

  6. Scegliere Codice dal menu Visualizza per aprire l'Editor di codice.

    Appena sopra l'editor di codice sono presenti due caselle di riepilogo a discesa. La casella sulla sinistra contiene l'elenco di tutti i controlli presenti nel form nonché Form1, (Generale) e (Form1 Events). La casella sulla destra elenca tutti gli eventi disponibili per l'elemento indicato nella casella sulla sinistra.

  7. Nella casella sulla sinistra, fare clic su Button1.

  8. Nella casella sulla destra, fare clic su Click.

    Nell'editor di codice verrà visualizzato un nuovo gestore eventi denominato Button1_Click.

    Nota:

    È possibile immettere il gestore eventi predefinito per un controllo facendo doppio clic sul controllo nel form.

  9. Nel gestore eventi Button1_Click digitare il codice riportato di seguito.

    MsgBox("You clicked the button")
    
  10. Premere F5 per eseguire l'applicazione. Quando si fa clic su Button1, viene visualizzata una finestra di messaggio.

Aggiunta degli altri gestori eventi

È possibile scrivere un codice nei gestori eventi aggiuntivi per lo stesso controllo. Ad esempio, è possibile modificare il testo che viene visualizzato sul pulsante quando un utente sposta il puntatore del mouse sul pulsante.

Per gestire l'evento MouseEnter

  1. Nell'Editor di codice, accertarsi che nella casella a discesa a sinistra sia selezionato Button1 e quindi fare clic su MouseEnter nella casella a discesa a destra.

    Nell'editor di codice verrà visualizzato un nuovo gestore eventi denominato Button1_MouseEnter.

  2. Nel gestore eventi Button1_MouseEnter digitare il codice riportato di seguito.

    Button1.Text = "The Mouse has entered"
    

    Premere F5 per eseguire l'applicazione. Posizionare il puntatore del mouse sul pulsante. Quando il puntatore del mouse viene posizionato su Button1, il testo del pulsante cambia.

Durante l'esecuzione dell'esempio precedente probabilmente si sarà notato che il testo di Button1 cambia quando si posiziona il puntatore del mouse sopra di esso, ma non viene rimodificato quando si allontana il puntatore del mouse. Per modificare il testo quando il puntatore del mouse non è più posizionato sul pulsante, è necessario gestire l'evento MouseLeave oltre all'evento MouseEnter.

Per gestire l'evento MouseLeave

  1. Nell'Editor di codice, accertarsi che nella casella a discesa a sinistra sia selezionato Button1 e quindi fare clic su MouseLeave nella casella a discesa a destra.

    Nell'editor di codice verrà visualizzato un nuovo gestore eventi denominato Button1_MouseLeave.

  2. Nel gestore eventi Button1_MouseLeave digitare il codice riportato di seguito.

    Button1.Text = "The mouse has left"
    
  3. Premere F5 per eseguire l'applicazione.

    Dopo questa aggiunta, quando si posizionerà il puntatore del mouse sopra il pulsante il testo cambierà in The mouse has entered e quando si allontanerà il puntatore del mouse dal pulsante il testo cambierà in The mouse has left.

Passaggi successivi

In questa lezione è stato descritto come creare un gestore eventi tramite l'editor di codice. A questo punto è possibile proseguire con la lezione successiva della serie Recupero delle scelte dell'utente: utilizzo di caselle di controllo e pulsanti di opzione oppure esaminare alcuni gestori eventi in Informazioni dettagliate: condivisione di un gestore eventi. Se si opta per questa seconda alternativa, salvare il progetto EventHandler perché verrà utilizzato in tale lezione.

Vedere anche

Riferimenti

Cenni preliminari sul controllo Label (Windows Form)

Cenni preliminari sul controllo TextBox (Windows Form)

Altre risorse

Creazione dell'aspetto visivo del programma: introduzione a Windows Form

Modifiche a eventi, metodi e proprietà dei controlli per gli utenti di Visual Basic 6.0