过程声明与具有相同名称的事件或过程的描述不匹配

时间:2012-09-26 17:37:58

标签: events vb6 toolbar

我只是新手而且我试图在Visual Basic 6中创建一个简单的程序。代码几乎与教科书中的代码相同。它本来是一种油漆程序。令人惊讶的是,它无法使用此问题标题中给出的错误进行编译。 这是代码:

Option Explicit

Dim Col As Long

Private Sub Form_Load()
    AutoRedraw = True
    BackColor = vbWhite
    Col = vbBlack
    DrawWidth = 3
End Sub

Private Sub Command1_Click()
    CommonDialog1.ShowOpen
    Form1.Picture = LoadPicture(CommonDialog1.FileName)
End Sub

Private Sub Command2_Click()
    CommonDialog1.ShowSave
    SavePicture Image, CommonDialog1.FileName
End Sub

Private Sub Command3_Click()
    CommonDialog1.ShowColor
    Col = CommonDialog1.Color
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    PSet (X, Y), Col
End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
    Select Case Button.Key
    Case "Line1"
        DrawWidth = 3
    Case "Line2"
        DrawWidth = 20
    End Select
End Sub

应用程序在以下行崩溃:

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

错误:

  

程序声明与事件或程序的描述不匹配   具有相同的名称

1 个答案:

答案 0 :(得分:21)

问题在于:

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

好的,既然你是用VB6编写的,你就可以学习VB6剧本中的一些技巧。暂时将方法重命名为qqToolbar_ButtonClick之类的其他内容,然后转到设计器并单击工具栏中的按钮以在代码中重新生成事件。

如果签名错误,它将从设计器中正确重新生成,您可能会看到问题。

另一项检查是查看ToolBar1是否已添加到控件数组中?在这种情况下,方法签名需要如下所示:

Private Sub Toolbar1_ButtonClick(ByVal Index as Integer, ByVal Button As MSComctlLib.Button)

我希望其中一个有助于解决问题。