VB.NET-Tipp 0020: Die Verwendung von AddHandler
von Herfried Wagner
Beschreibung
Dieses Beispiel zeigt die Verwendung des VB-Schlüsselworts AddHandler, mit dem einem Ereignis eine Funktion zugewiesen werden kann.
Schwierigkeitsgrad: | Framework-Version(en): .NET Framework 1.0, .NET Framework 1.1, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5 | .NET-Version(en): Visual Basic 2002, Visual Basic 2003, Visual Basic 2005, Visual Basic 2008 | Download: |
' Dieser Quellcode stammt von http://www.activevb.de ' und kann frei verwendet werden. Für eventuelle Schäden ' wird nicht gehaftet. ' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. ' Ansonsten viel Spaß und Erfolg mit diesem Source! ' Projektversion: Visual Studio 2002/2003 ' Option Strict: An ' Option Explicit: An ' ' Referenzen: ' - System ' - System.Drawing ' - System.Windows.Forms ' ' ############################################################################## ' ################################ MainForm.vb ################################# ' ############################################################################## Option Explicit On Option Strict On Option Compare Binary Imports System Imports System.Windows.Forms ' <remarks> ' Hauptformular der Anwendung. ' </remarks> Public Class MainForm Inherits System.Windows.Forms.Form Private Sub MainForm_Load( _ ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles MyBase.Load Dim i As Integer For i = 1 To 20 lstListBox.Items.Add("Element Nummer " & _ i.ToString()) Next i ' Hinzufügen der Handler zu den einzelnen ' Steuerelementen; zur Demonstration definieren wir einen ' gemeinsamen Handler, der von allen Steuerelementen ' für entsprechende Ereignisse benutzt wird. AddHandler Me.btnButton.Click, AddressOf MultiEvent AddHandler Me.lstListBox.Click, AddressOf MultiEvent AddHandler Me.chkCheckBox.CheckStateChanged, AddressOf MultiEvent End Sub Private Sub MultiEvent( _ ByVal sender As Object, _ ByVal e As EventArgs) ' Ermitteln, zu welchem Steuerelement das Ereignis ' gehört und Erstellen einer entsprechenden Meldung. Dim s As String Select Case True Case sender Is Me.btnButton s = "Der Button wurde geklickt!" Case sender Is Me.lstListBox s = "Das Element mit dem Titel """ & _ Convert.ToString(DirectCast(sender, ListBox).SelectedItem) & _ """ wurde aus der ListBox gewählt!" Case sender Is Me.chkCheckBox s = "Der Status der CheckBox wurde verändert!" End Select MessageBox.Show(s, "Ereignis ausgelöst") End Sub Private Sub MainForm_Closing( _ ByVal sender As Object, _ ByVal e As System.ComponentModel.CancelEventArgs) _ Handles MyBase.Closing RemoveHandler Me.btnButton.Click, AddressOf MultiEvent RemoveHandler Me.lstListBox.Click, AddressOf MultiEvent RemoveHandler Me.chkCheckBox.CheckStateChanged, AddressOf MultiEvent End Sub End Class
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 1 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von katzenhut am 10.09.2010 um 01:39
yay! Go AddHandler!!