Public Class Form1
'Die Struktur
Structure tbArray
Dim button As Button
Dim db As String
Dim user As String
Dim pw As String
End Structure
'Deklaration der Struktur
Dim barray(0) As tbArray
'Funktion die überprüft ob das Array voll ist, wenn ja wird Platz geschaffen
Function GetFreeIndex() As Integer
Dim i As Integer
For i = LBound(barray) To UBound(barray)
If barray(i).button Is Nothing Then
Return i
End If
Next
Return i + 1
End Function
Private Sub barraybutton_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
'Indexvariable
Dim index As Integer
' Click-Ereignis des Picturebox-Arrays auswerten
Dim itemClicked As Button = CType(sender, Button)
' Das betroffene Element im Array suchen (allgemein);
For i As Integer = LBound(barray) To UBound(barray)
If barray(i).button Is itemClicked Then
index = i
Exit For
End If
Next
'Hier können nun ohne Probleme alle Daten abgerufen werden
MsgBox(barray(index).db)
MsgBox(barray(index).pw)
MsgBox(barray(index).user)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Koordinaten der Buttons deklarieren und festlegen
Dim buttonx, buttony As Integer
buttonx = 0
buttony = 0
'Zählvariable deklarienen und festlegen
Dim y As Integer
y = 0
'Schleife starten
For i As Integer = 0 To 9
'Funktion aufrufen und Array erhöhen,falls nötig
Dim nFree As Integer
nFree = GetFreeIndex()
If nFree > UBound(barray) Then
ReDim Preserve barray(0 To nFree)
End If
'Funktion zu Ende
'Buttons erstellen sowie Daten ins Programm laden
barray(nFree).db = "Hier Name einlesen" + (nFree + 1).ToString
barray(nFree).pw = "Hier PW einlesen"
barray(nFree).user = "Hier User einlesen"
barray(nFree).button = New Button
barray(nFree).button.Parent = Me
barray(nFree).button.Location = New Point(buttonx, buttony)
barray(nFree).button.Text = barray(nFree).db
barray(nFree).button.Width = 100
barray(nFree).button.Height = 50
'Koordinaten des nächsten Buttons erhöhen
buttonx += barray(nFree).button.Width
y += 1
'Bei 5 Buttons wird eine neue Reihe angefangen
If y = 5 Then
y = 0
buttonx = 0
buttony += barray(nFree).button.Height
End If
'Button Event zuweisen
AddHandler barray(nFree).button.Click, AddressOf barraybutton_click
Next
End Sub
End Class