http://www.microsoft.com/germany/msdn/l…n.mspx?mfr=true
' Code in einem Windows Forms-Codemodul (Form1)
'
Public Class Form1
Inherits System.Windows.Forms.Form
Private btnArray(9) As Button ' Dies wird unser Control-Array!
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' 10 Buttons neu erzeugen
For i As Integer = 0 To 9
' Neuen Button erzeugen
btnArray(i) = New Button
' Den erzeugten Button verwenden:
With btnArray(i)
' Parent festlegen und Controls-Collection erweitern
.Parent = Me
.Parent.Controls.Add(btnArray(i))
' Verwaltungsinformationen zuweisen
.Name = "Button" & CStr(i)
.TabIndex = i
' Darstellung: Beschriften und positionieren
.Text = "Button(" & CStr(i) & ")"
.Size = New Size(80, 30)
.Location = New Point(10, 10 + i * 2 * .Height)
.Visible = True
' Auf das Click-Ereignis reagieren können:
AddHandler .Click, AddressOf btnArray_Click
End With
Next i
End Sub
Private Sub btnArray_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
' Click-Ereignis des Button-Arrays auswerten
Dim itemClicked As Button = CType(sender, Button)
Dim index As Integer = -1I
' Das betroffene Element im Array suchen (allgemein);
' Möglich wäre etwa auch das Vorgehen über die eigens
' zugewiesene Name-Eigenschaft des Buttons.
For i As Integer = LBound(btnArray) To UBound(btnArray)
If btnArray(i) Is itemClicked Then
index = i
Exit For
End If
Next
If index > 0 Then ' Element im Array gefunden (sonst index = -1)
' Kurze Informations-MessageBox für das Codebeispiel
MessageBox.Show("Sie haben den Button Nr. " & CStr(index) & " angeklickt", _
"Index des Buttons ermittelt", _
MessageBoxButtons.OK, _
MessageBoxIcon.Information)
End If
End Sub
End Class