vb二维控件数组

你好,我想问您一个问题
我按你说的方法建立了二维控件数组(http://zhidao.baidu.com/question/37187317.html?fr=ala0),但是我建立的是commandbutton的。
建立之后,我也要实现以下功能:如何实现这些按钮的单击事件(单击其中的一个按钮时会根据按钮的不同,触发不同的事件),即click事件,请帮忙解决一下,非常着急,在编一个程序,谢谢!!
这是建立二维控件数组的代码:我是在一个按钮的单击事件下建立的。
Private Sub Command1_Click()
Dim intX As Integer, intY As Integer
Dim txtNew(1 To 5, 1 To 2) As TextBox
For intY = 1 To 2
For intX = 1 To 5
Set txtNew(intX, intY) = Me.Controls.Add("VB.TextBox", "Cmd" & intX & "_" & intY)
txtNew(intX, intY).Move 600 * intX, 300 * intY, 600, 300
txtNew(intX, intY).Visible = True
Next intX
Next intY
End Sub

添加一个类模块写入以下代码:

Public WithEvents Text As TextBox
Dim x1 As Integer, y1 As Integer

Public Sub Text_Change()
Form1.Change x1, y1
End Sub

Public Sub Load(x As Integer, y As Integer, name As String)
Set Text = Form1.Controls.Add("VB.TextBox", name)
x1 = x
y1 = y
End Sub

窗体代码:
Dim txtNew(1 To 5, 1 To 2) As SPText

Private Sub Command1_Click()
Dim intX As Integer, intY As Integer
For intY = 1 To 2
For intX = 1 To 5
Set txtNew(intX, intY) = New SPText
txtNew(intX, intY).Load intX, intY, "Cmd" & intX & "_" & intY
txtNew(intX, intY).Text.Move 600 * intX, 300 * intY, 600, 300
txtNew(intX, intY).Text.Visible = True
Next intX
Next intY
End Sub

Sub Change(x As Integer, y As Integer)
Print x; y; "已改变"
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-06
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0
MsgBox "你按了第1个按钮"
Case 1
MsgBox "你按了第二个按钮"
End Select
End Sub
第2个回答  2010-01-06
您好,动态添加的控件数组无法响应事件。
请寻找其他代替方法,如使用一个1维控件数组(不是动态添加的),每个元素的编号I=X*N+Y(N为虚拟的二维数组每行的元素数量)
第3个回答  2010-01-06
控件数组 有二维的么 ..........
一楼的回答对了