Definizione di Eventi in Visual Basic
In Microsoft Visual Basic, un evento è un messaggio inviato da un oggetto all'interno di un programma al ciclo principale del programma, informandolo che qualcosa è successo. Questo "qualcosa" può variare ampiamente, da un timer che scade a un clic del mouse da parte dell'utente. Il programma può catturare questo evento e usare le informazioni al suo interno per prendere decisioni su ulteriori operazioni.
Esempi
Visual Basic viene preinstallato con una vasta quantità di eventi pre-codificati, though gli utenti possono anche scrivere i propri. Questi eventi coprono quasi ogni aspetto dell'operazione e interazione del programma. Alcuni eventi relativi all'interazione tra il cursore del mouse e un controllo su una Form (come un pulsante) includono MouseClick, MouseDoubleClick, MouseEnter, MouseLeave, MouseWheel, MouseMove e MouseHover. Gli eventi hanno generalmente nomi molto intuitivi, per rendere la lettura del codice Visual Basic più facile.
Attivazione
Gli eventi possono essere attivati da un ampio numero di situazioni. Molti eventi sono il risultato dell'interazione utente, come movimento del mouse o input da tastiera. Il sistema operativo Windows invia anche eventi, notificando il programma quando è minimizzato o quando un'altra finestra lo sovrappone. Gli oggetti possono attivare i propri eventi, quando una variabile ha raggiunto un certo valore, per esempio. Infine, gli eventi possono essere messi in moto programmandoli specificamente per farlo, mediante quello che si chiama "raising" (generazione).
Dichiarazione
Nuovi eventi sono creati usando un comando di dichiarazione. Il codice per questo generalmente assomiglia a qualcosa come segue:
Public Event OptionChanged(ByVal Name As String, ByVal Number As Integer)
Questo evento di esempio dovrebbe essere programmato manualmente per essere generato al cambiamento di un'opzione, e invierebbe due valori al programma: il nome dell'opzione cambiata e il valore a cui è stata impostata.
Generazione Eventi
Generare un evento è l'atto di farlo accadere. Questo può essere fatto con una singola riga di codice posta nel tuo programma, come:
RaiseEvent OptionChanged("Length", 28)
Questo notificherà al programma il verificarsi dell'evento, e invierà le informazioni contenute a una procedura gestore, se esiste.
Gestori
Un gestore è una procedura che il programma chiama quando un evento specifico ha luogo. Il gestore può poi reagire all'informazione, processandola o inviando informazioni all'utente. Prima l'evento e il suo gestore devono essere associati a mano, così il programma sa che l'uno deve chiamare l'altro. Per esempio, per aggiungere un gestore al nostro evento OptionChanged, qualcosa come questo è richiesto:
AddHandler Obj.OptionChanged, AddressOf Me.OptionChangedHandler
Dopo di che il gestore stesso può essere aggiunto. Un gestore per OptionChanged potrebbe essere come segue:
Sub OptionChangedHandler(ByVal Name As String, ByVal Number As Integer)
MsgBox("The value for " & Name.ToString & " has been changed!")
End Sub