AddHandler

    • VB.NET

    Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

      Was ist AddHandler?
      AddHandler ist eine Funktion, mit der man dynamisch erstellten Controls Events zuweisen kann.
      Wie funktioniert das?
      Das ist ganz einfach, man gibt zuerst das Control an, welches das Event haben soll, dann noch das Event welches man zuweisen möchte, und dann den Namen, wie man es benutzen möchte.
      Wie sieht das im Code aus?
      Ungefär so, hier ein Beispiel mit einem TextChanged Event bei einer Textbox:

      VB.NET-Quellcode

      1. Private Sub Form1_Load() Handles MyBase.Load
      2. Dim Textbox1 As Textbox = New Textbox 'Neue Textbox erstellen
      3. AddHandler Textbox1.TextChanged, AddressOf ChangedEvent 'Der AddHandler
      4. Me.Controls.Add(Textbox1) 'Die Textbox auf die Form hinzufügen
      5. End Sub
      6. Private Sub ChangedEvent() 'Das ChangedEvent
      7. MessageBox.Show("Du hast etwas in die Textbox eingegeben!") 'MessageBox ausgeben
      8. End Sub


      Hier ein Beispiel mit einem Timer:

      VB.NET-Quellcode

      1. Private Sub Form1_Load() Handles MyBase.Load
      2. Dim Timer1 As Timer = New Timer 'Timer erstellen
      3. Timer1.Interval = 1000 'Interval einstellen
      4. AddHandler Timer1.Tick, AddressOf Ticker 'Der Addhandler
      5. 'Hinzufügen muss man das Control nicht, da es nicht auf die Form muss
      6. End Sub
      7. Private Sub Ticker()
      8. MessageBox.Show("Timer funktioniert!") 'MessageBox ausgeben
      9. End Sub
      Das geht nicht nur mit Controls. Das geht mit jedem Objekt, das Ereignisse enthält. Manche Controls blenden aber ihre Ereignisse aus (System.ComponentModel.EditorBrowsableAttribute und System.ComponentModel.BrowsableAttribute), da die entsprechenden Properties keine Wirkung haben. Bei Panel wird zum Beispiel kein Text mehr gezeichnet.

      Gruß
      ~blaze~