Anzeige

 Zählen der Schaltflächen im Fenster


delphinhawe

Erfahrenes Mitglied
#1
Hallo,

im Fenster sind drei Schaltflächen "Button.." zu sehen.
Wie kann ich die Schaltflächen aufzählen ohne zu klicken,
d.h. Msgbox soll mir sagen, wie viele Schaltflächen am Fenster vorhanden sind.

Die Lösung soll etwa aussehen, wie folgt:


Code:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim list As New List(Of Button)
Dim i As Integer
msgbox (list)
'i = list
'msgbox = i
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
End Sub
   
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
End Sub

Wie bekomme ich die Zuweisung auf i?
Vielen Dank schonmal für eine Rückantwort.

Gruß
delphinhawe
 

Spyke

Capoeirista
Premium-User
#2
Form ist ja von Control abgeleitet.
Control hat eine Eigenschaft Controls über diesen könntest du in einer Schleife die Child Controls durchlaufen und prüfen ob das akt. Control des Schleifen durchlaufs vom Typ Button ist.

Edit: Achtung liefert nur die eigenen Kind Controls, wenn die Buttons auf einem Panel etc. liegen muss Controls von Panel etc. durchlaufen werden.
 

delphinhawe

Erfahrenes Mitglied
#3
"Form1.Children" funktioniert nicht. Wie schreibe ich Child richtig?

Code:
For Each z In Form1.Children

If TypeOf z Is Button Then
i = i + 1
End If

Next
MsgBox(i)
 

Spyke

Capoeirista
Premium-User
#4
Form1.Controls

Child war eher zur verdeutlichung das die Steuerelemente geliefert werden die auf diesem Control/Form dann liegen von dem die Eigenschaft Controls aufgerufen wird.
Hoffe weniger verwirrend jetzt ^^
 
Anzeige
Anzeige