关于 VB2005 控件数组

来源:百度知道 编辑:UC知道 时间:2024/05/19 14:36:06
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim btn(3, 3) As Button

For a As Integer = 1 To 3
For b As Integer = 1 To 3
btn(a, b) = New Button
btn(a, b).Parent = Me
btn(a, b).Left = btn(a, b).Width * (a - 1)
btn(a, b).Top = btn(a, b).Height * (b - 1)
btn(a, b).Show()
Next
Next
End Sub

上面的代码可以做出9个按钮,往常的控件可以通过双基输入代码,这些在代码里面制作的控件数组又如何输入代码呢?

能让这些按钮中的任意一个按下之后都运行同样一段代码吗?或者不同的?

多谢
我想用控件数组做一个游戏的棋盘。

使用AddHandler?怎样使用?

你的意思是添加Button的代码么?
若是的话,使用AddHandler
例如:
AddHandler Button1.Click, AddressOf B1Click

Public Sub B1Click()
Me.Close
End Sub

这样点击Button1就把窗体关闭了。

以这种方式是不增加的控件数组是没有事件驱动的,也就不能有单击,双击等操作
只有加上WithEvents才可以有事件产生
Dim WithEvents MyBtn As CommandButton
Set MyBtn = Controls.Add("VB.CommandButton", "Button1")
With MyBtn
.Caption = "我可以响应事件!"
.Width = 1800
.Left = 100
.Top = 700
.Visible = True
End With
事件调用方式
Private Sub MyBtn_Click()
MsgBox "我要移除动态加载的控件了!"
Me.Controls.Remove "Button1"
End Sub