Tipp 0171 RadioButtons in Group-Controls zentral auswerten
Autor/Einsender:
Datum:
  Michael Werner
30.10.2007
Entwicklungsumgebung:   VB.Net 2005
Framework:   2.0
Mehrere zusammengehörige RadioButtons oder CheckBoxen werden sinnvoller Weise in einem Container, wie z.B. einer GroupBox oder einem Panel Zusammengefasst. Im Formular wird durch Doppelklick auf einen einzelnen RadioButton als Code das Standardereignis CheckedChanged generiert. Benötigen Sie allerdings zahlreiche RadioButtons und diese eventuell in verschiedenen Group-Controls gebündelt, so wird das Event-Handling ziemlich unübersichtlich.
Hier bietet sich dann eine zentrale Auswertung der CheckedChanged-Ereignisse an. Mittels AddHandler wir im Beispiel auf eine benutzerdefinierte Prozedur  "RadioButton_CheckedChanged" verwiesen, die die Klicks zentral auswertet. Wichtig bei der Deklaration der Eventhandler-Prozedur: Die Signatur der Prozedur muss mit der Signatur des Ereignisses übereinstimmen. In diesem Fall (RadioButton) ist es: "(ByVal sender As System.Object, ByVal e As System.EventArgs)".
 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e _
     As System.EventArgs) Handles MyBase.Load
   'Controls in der Form
  For Each ctrl As Control In Me.Controls
     'RadioButtons auf Formularebenen
    If TypeOf ctrl Is RadioButton Then
      Dim rb As RadioButton = DirectCast(ctrl, RadioButton)
      AddHandler rb.CheckedChanged, AddressOf _
         RadioButton_CheckedChanged
    End If
     'Controls in GroupBoxen
    If TypeOf ctrl Is GroupBox Then
       'RadioButtons in GroupBoxen
      For Each ctrl2 As Control In ctrl.Controls
        Dim rb As RadioButton = DirectCast(ctrl2, RadioButton)
        AddHandler rb.CheckedChanged, AddressOf _
           RadioButton_CheckedChanged
      Next
    End If
  Next
End Sub

Private Sub RadioButton_CheckedChanged(ByVal sender As _
    System.Object, ByVal e As System.EventArgs)
  Label1.Text = DirectCast(sender, Control).Name
End Sub
 
Weitere Links zum Thema
Alle Steuerelemente eines Formulars ermitteln
Ereignisse zentral mit AddHandler auswerten

Windows-Version
98/SE
ME
NT
2000
XP
Vista
Win 7


Download  (18,6 kB) Downloads bisher: [ 220 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Tipps | Projekte | Tutorials | Bücherecke | VB-/VBA-Tipps | API-Referenz | Komponenten | VB.Net-Forum | VB/VBA-Forum | DirectX-Forum | Foren-Archiv | DirectX | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Dienstag, 25. Oktober 2011