Events 编译错误:过程声明与具有相同名称的事件或过程的描述不匹配

Events 编译错误:过程声明与具有相同名称的事件或过程的描述不匹配,events,vb6,picturebox,Events,Vb6,Picturebox,我已经将我的整个vb6代码从一台机器复制到另一台机器,现在当我在另一台机器上运行我的代码时,它会显示错误,如:编译错误:过程声明与同名事件或过程的描述不匹配, 代码如下: Private Sub MKDataGrid1_KeyPress() If MKDataGrid1.Col = 0 Or MKDataGrid1.Col = 1 Or MKDataGrid1.Col = 2 Or MKDataGrid1.Col = 3 Then MKDataGrid1.AllowUpd

我已经将我的整个vb6代码从一台机器复制到另一台机器,现在当我在另一台机器上运行我的代码时,它会显示错误,如:编译错误:过程声明与同名事件或过程的描述不匹配, 代码如下:

Private Sub MKDataGrid1_KeyPress()
    If MKDataGrid1.Col = 0 Or MKDataGrid1.Col = 1 Or MKDataGrid1.Col = 2 Or MKDataGrid1.Col = 3 Then
        MKDataGrid1.AllowUpdate = False
        MsgBox "This field is not to edit. Thnks"
        MKDataGrid1.AllowUpdate = False
        cmdAdd.visible = True
        cmdAdd.SetFocus
        cmdAdd.visible = False
    Else
        MKDataGrid1.AllowUpdate = True
    End If
End Sub

看来你的活动宣言搞砸了。一般来说,按键事件将参数
keyscii作为整数
。我建议暂时重新标记您的例程,然后从代码窗口的下拉列表中手动选择按键事件。然后将以前的内容复制回VB插入的按键。

我必须在我的计算机上注册vb6datagrid.ocx。为此,我必须在我的计算机上注册这个.ocx,实际上,我再次从旧机器复制了我机器中的新代码,在运行它之前,我打开了Project>>components>>Designer,从中选择了需要的组件,并删除了不需要的组件,然后我运行了项目,所以再次出现错误,但当我再次查看对象时,我发现缺少对象,因此我放置了datagrid,然后运行正常:)

您是否在新机器上安装了正在使用的控件?“MKDataGrid”?您需要运行一个安装包。KeyPress的参数不是有键值吗?@Rob确切地说,KeyPress处理程序中没有参数。他所要做的就是读取他粘贴的错误
过程声明与同名事件或过程的描述不匹配
@markJ--您完全正确我必须为此在计算机上注册vb6datagrid.ocx,我已经在我的机器上注册了这个.ocx,但现在它显示了错误,如:名称与现有模块、项目或对象库冲突。在vb6中,我进入了项目>>组件>>中,然后在设计器中取消选中了一些控件,但这样做会显示:“无法删除控件或引用;正在使用”,但在我的原始代码目录中,这些组件没有被选中。