vb 过程声明与同名事件或过程的描述不匹配

2024-11-15 20:42:14
推荐回答(5个)
回答1:

一般的命令按钮单击事件应该是:Private Sub Command1_Click()
你的里面有(Index As Integer)说明应该 是控件数组,但 是如果你的按不是控件数组就会有你说的错误:过程声明与同名事件或过程的描述不匹配

可以去掉Index As Integer 但是你里面的代码也是有问题的!

一般用控件数组方式(设计时先有一个Text1,设置它的Index=0)在Form_Load 事件里直接用
Load Text(i) 来添加。但是运行之后再添加比较麻烦。给你个参考网址,你可以看一看:
http://www.readygo.com.cn/it_698811.html
另外就是一楼所说的问题!

回答2:

Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move Left + X - oldX, Top + Y - oldY
End Sub

Private Sub Text1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim oldX As Single, oldY As Single '你少了。Index As Integer
oldX = X + Left
oldY = Y + Top
Text1(0).Drag 1 '因为text是控件数组 所以text1.drag的写法不正确 得指明标志号
End Sub

Private Sub Text1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Text1.Drag 2
End Sub

Private Sub Command1_Click(Index As Integer)
Static i
i = i + 1
Load Text1(i)
Text1(i).Visible = True
Text1(i).Left = Text1(i).Left + Text1(i).Width * i
End Sub

回答3:

鉴于你只列出了代码,并没有写出是那句话报错;
分析你的错误描述后得出以下结论:
只有可能是你的Command1、Command2、Command3或Command4其中一个或多个本来是个控件数组,结果你却没把它当控件数组来写代码,才能造成你所描述的错误。
例如,你窗体中Command1是个控件数组,那么你的代码应该是:
Private Sub Command1_Click(Index As Integer)
'你的代码
End Sub
如果你不知道如何看哪个是控件数组,请分别单击每个按钮后,观察属性窗口中的Index是否有值,哪怕是0,也算这个按钮为控件数组。

回答4:

是你的电脑与那台电脑上的库文件版本新旧不同,一般来说是旧版与安装了补丁SP5.0或SP6.0导致,若是旧版本,“工程”->“引用”菜单,你能看到打钩的项"Microsoft
ActiveX
Data
Objects
2.0
Libarbry";若是后者补丁打了的情况,则应去掉这个钩,选上"Microsoft
ActiveX
Data
Objects
2.6
Libarbry"即可正常运行程序。依此原因,你看看打钩情况,做一下更改即能解决问题。

回答5:

Load Text1(i)
Text1(i).Visible = True
Text1(i).Left = Text1(i).Left + Text1(i).Width * i
从这几句看,Text1应该是个控件数组,因此在Text1的所有事件过程声明中第一个参数都应该是Index As Integer,即
Private Sub Text1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Private Sub Text1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)