Verarbeitung von mehrerer Steuerelemente

Hi zusammen,

ich habe ein Form mit mehreren Checkboxen (als Eingabe) und dazugehörigen Labels (als Ausgabe).

Ich würde gern die Verarbeitung des Ganzen automatisieren bzw. einfacher gestalten:
Nachdem der Nutzer verschiedene Checkboxen z.B. mit dem Namen „checkbox_xyz1“ und „checkbox_xyz2“ angeklickt und dann auf den Button „button_start“ geklickt hat, soll zunächst überprüft werden, welche Checkboxen angeklickt worden sind. Anschließend sollen die Dateien „xyz1.txt“ und „xyz2.txt“ geöffnet werden und daraus jeweils per Zufall eine Zeile herausgezogen werden. Anschließend soll diese Zeile auf den Labels „label_xyz1“ und „label_xyz2“ ausgegeben werden.

Wie kann man sowas am einfachsten realisieren?

Besten Dank schonmal,
Erik

Hallo,

wenn du deine Steuerelemente systematisch benennst, ist das kein Problem. Dann kannst du entweder nachdem die Form geladen wurde, alle relevanten Steuerelemente in eine Collection packen (z.B. ein Dictionary) oder - wenn nicht viel mehr Steuerelemente auf der Form sind - alles gleich live auswerten.
Ich halte mich in dem Beispiel mal an letztere Variante.
Im Button Click Event müsstest du dann ja nur die Steuerelemente durchlaufen, prüfen, ob es eine Checkbox ist und entsprechend reagieren:

For Each c As Control In Controls
 If TypeOf c Is CheckBox And c.Name.StartsWith("checkbox\_") Then
 Dim chk As CheckBox = DirectCast(c, CheckBox)
 If chk.Checked Then
 Dim Name As String = c.Name.Substring(9)
 Dim Dateiname As String = Name & ".txt"
 Dim Labelname As String = "label\_" & Name
 'Datei öffnen und Zeile holen
 'Label mit richtigen Namen suchen
 'Zeile in Label schreiben
 End If
 End If
 Next

Das Suchen des passenden Labels würde natürlich mit einem Dictionary schneller gehen.

Nico