当前位置:编程学习 > VB >>

关于类模块的响应事件问题

我定义了一个类模块
picclass:
Public WithEvents pic1 As PictureBox
form1:
Dim picclass() As New picclass
Private Sub Command1_Click()
Dim i as integer
Set picclass(2).pic1 = Controls.Add("vb.picturebox", "picture" & 2)
end sub 

当我对Picclass(2).pic1使用mouse事件的时候
Private Sub picclass(2).pic1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
出现编译错误缺少:语句结束。
由于对类不是很熟希望哪位朋友可以指导一下。。。 --------------------编程问答-------------------- picclass()与Picclass(2)是怎么回事?? --------------------编程问答-------------------- picclass(2)是Picclass()的一个元素而已
本来是这样的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 --------------------编程问答-------------------- “Private Sub picclass(2).pic1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) ”

你这个语句应该出现在picclass类模块里,并且如下声明

Private Sub pic1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 


实际上,你不需要自己键入以上声明,直接在VB的IDE里,写代码的那个子窗体的上方,左边的组合框的下拉列表里选择pic1,右边的组合框的下拉列表里选择mousedown。VB会自动为你生成完整正确的事件过程的函数声明。 --------------------编程问答-------------------- 另外:Dim picclass() As New picclass 

这个语句不对。

(1)动态数组在使用之前必须redim
(2)不建议把变量名和类名取得一模一样
(3)new只能用来new单个对象,不能用来new一个对象数组。

你得到的编译错误,有可能是这个语句导致的。 --------------------编程问答-------------------- 这个不是VB6.....是VB.NET....
--------------------编程问答-------------------- 啊 酱紫啊 --------------------编程问答-------------------- 四楼的方法是正解,我弄出来了谢谢。 --------------------编程问答-------------------- 我晕,是VB6啊??

看你语法还以为是VB.NET! --------------------编程问答-------------------- 哈哈,老马看错了。 --------------------编程问答-------------------- 老马老啦 --------------------编程问答-------------------- 路过~ --------------------编程问答-------------------- Up........
--------------------编程问答-------------------- 结帖吧,嘿嘿. --------------------编程问答--------------------
引用 13 楼 myjian 的回复:
结帖吧,嘿嘿.

嘿嘿,楼主先别结,俺帮你顶顶!
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,