VB程序员博客
Private WithEvents pic1 As picturebox
Private Sub Command1_Click()
Set pic1 = Controls.Add("vb.picturebox", "picture1")
pic1.Visible = True
pic1.Move 2000,200,200,200
End Sub
这是个点击按钮后动态生成一个picture1控件的简单程序。
但是我要求点击一次就生成一个picture控件,而且可以修改picture控件的属性,和响应它的事件.由于生成picture控件较多,希望用循环编写,但是VB好像不支持数组对象名,
难道要一个一个复制粘贴 ,pic1一直从贴到pic100不成。(而且完成之后要一个个可以拖动,所以不能用load方法 生成控件数组)
picClass:
Public WithEvents pic1 As PictureBox
Form1:
Dim picClass() As New picClass
Private Sub Command1_Click()
Dim i As Integer
i = 0
For i = 0 To 4
Set picClass(i).pic1 = Controls.Add("vb.picturebox", "picture" & i)
picClass(i).pic1.Visible = True
picClass(i).pic1.Move 2000 + i * 300, 200, 200, 200
Next
End Sub
Private Sub Form_Load()
ReDim picClass(5) As New picClass
End Sub
我按你说的把
Public WithEvents pic1 As PictureBox
写入了类模块中从class1中,
将Dim picClass() As New picClass
Private Sub Command1_Click()
Dim i As Integeri = 0
For i = 0 To 4
Set picClass(i).pic1 = Controls.Add("vb.picturebox", "picture" & i)
picClass(i).pic1.Visible = True
picClass(i).pic1.Move 2000 + i * 300, 200, 200, 200
Next
End Sub
Private Sub Form_Load()
ReDim picClass(5) As New picClass
End Sub
写入了form1中
但是运行后出现编译错误:用户类型未定义
光标在picClass() As New picClass上
清楚了原来是没有改类模块的名字,呵呵谢谢桃子老兄拉
按照您的方法完全可以应用
但是我要对每个PICTURE窗口执行MOUSE事件编写语句时
Private Sub picclass(1).pic1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
显示编译错误,缺少标示符。我的基础不是很好,加入要实现MOUSE事件我该怎么编写语句呢!麻烦了!
看私信别忘记给分呵呵
Private Sub pic1_MouseDown(index as integer,Button As Integer, Shift As Integer, X As Single, Y As Single)
试试看