สืบเนื่องจากกระทู้ข้างบนเป็นการสร้าง Bt เหมือนกันเเต่ผมทำไม่ออกไม่รู้ทำผิดตรงไหนหรือเปล่า หรือว่าต้องกำหนดอะไรลงบน form ด้วยเพราะผม copy โค๊ดมาเเล้วรันเลยครับ Code (VB.NET)
Imports System.Collections.Generic
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ArrayButton As List(Of Button) = New List(Of Button)()
For i As Integer = 1 To 4
Dim aButton As Button = New Button()
aButton.Text = "Button" & i.ToString()
ArrayButton.Add(aButton)
Next
End Sub
End Class
อันนี้สร้าง Label
บนฟอร์มต้องเอา Panel Control มาวางไว้ด้วย
ในที่นี้ชื่อ Panel1
Code (VB.NET)
Public Class Form3
Private Const C_DIFF_X = 30
Private Const C_DIFF_Y = 20
Private Const C_ROW = 24
Private Const C_COLUMN = 50
Private lbl_size As New Size(C_DIFF_X, C_DIFF_Y)
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim lbl As Label
For n = 0 To C_ROW * C_COLUMN - 1
lbl = New Label
lbl.Size = lbl_size
lbl.Location = New Point((n Mod C_COLUMN) * C_DIFF_X, (n \ C_COLUMN) * C_DIFF_Y)
lbl.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
lbl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
lbl.Name = "A" & n
lbl.Text = (n \ C_COLUMN).ToString & "-" & (n Mod C_COLUMN)
AddHandler lbl.Click, AddressOf Me.Label_Click
Me.Panel1.Controls.Add(lbl)
Next
End Sub
Private Sub Label_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim st As String
Dim lbl As Label = CType(sender, Label)
st = "Name: " & lbl.Name
st &= vbCrLf & "Text: " & lbl.Text
MessageBox.Show(st)
End Sub
End Class