|  | 
 
|  
 เนื่องจาก VB.NET ไม่มี Index ให้ใช้งานกับ Control ต่างๆ จึงทำให้ต้องประกาศเหตุการณ์ที่ทำซ้ำๆกันตลอด เรามีทางแก้ปัญหาได้ด้วยการนำเอา List ของ Control มาใช้งานแทน ...
 
 หน้าจอออกแบบปุ่มคำสั่ง (Button)
 
  มาดูโค้ดกันเถอะ ...
 
 
 คัดลอกไปที่คลิปบอร์ดPublic Class Form1
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim myButtons As List(Of Button) = New List(Of Button)
        myButtons.AddRange({Button1, Button2, Button3, Button4, Button5, Button6, Button7, Button8, Button9, Button10})
        '// OR
        'myButtons.Add(Button1)
        'myButtons.Add(Button2)
        ' ...................................
        'myButtons.Add(Button10)
        Dim i As Byte = 0
        For Each btn In myButtons
            With btn
                .Text = i + 1
                .Tag = i
            End With
            '// Force events handler.
            AddHandler myButtons(i).Click, AddressOf ClickButton
            i += 1
        Next
    End Sub
    '// Click Button event, get the text of button
    Public Sub ClickButton(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim btn As Button = sender
        MessageBox.Show("คุณคลิ๊ก [" + btn.Text + "]" & vbCrLf & "Tag=" & btn.Tag)
    End Sub
End Class
 
 | 
 |