Vb6 在组合框中按F1时显示错误对话框

Vb6 在组合框中按F1时显示错误对话框,vb6,dialog,Vb6,Dialog,我在用户控件上有一个combobox(cboURL),其Style属性设置为“0-Dropdown Combo”。当组合框具有焦点且按下F1时,将显示一个对话框窗口,其中包含错误文本“此程序无法显示网页” 所需的行为是将F1按键发送到UserControl_KeyDown,以便可以抑制F1(就像对UserControl上的所有其他控件一样): UserControl的KeyPreview属性设置为True 在cboURL中按F1时,不会调用任何事件处理程序cboURL_KeyDown()、cbo

我在用户控件上有一个combobox(cboURL),其Style属性设置为“0-Dropdown Combo”。当组合框具有焦点且按下F1时,将显示一个对话框窗口,其中包含错误文本“此程序无法显示网页”

所需的行为是将F1按键发送到UserControl_KeyDown,以便可以抑制F1(就像对UserControl上的所有其他控件一样):

UserControl的KeyPreview属性设置为True

在cboURL中按F1时,不会调用任何事件处理程序cboURL_KeyDown()、cboURL_keydup()、cboURL_KeyPress()、UserControl_KeyDown()、UserControl_keydup()或UserControl_KeyPress()。嵌入用户控件的表单中也没有调用Form_KeyDown()、Form_KeyPress()或Form_KeyUp()事件处理程序

如果cboURL的Style属性设置为“2-下拉列表”,则当按F1时,将调用UserControl\u KeyDown。但是,我不能使用该设置,因为我需要能够输入不在下拉选项列表中的文本

此应用程序的.chm帮助文件确实存在(由hhc.exe生成),但它不是独立的帮助文件。例如,从Windows Exporer双击它会出现与上述相同的错误对话框。帮助文件包含使用控件的WhatsThisHelpID属性访问的弹出式帮助文本

有人能为这个问题提出解决方案吗?

参考wqw的评论: 请尝试在包含窗体上设置KeyPreview=True,KeyDown事件处理程序将在此处运行


这很好。

听起来好像它正在尝试加载程序的帮助文件,而该文件显然不存在。F1是加载帮助文件的默认键。您是否已尝试检查表单的
KeyDown/KeyPress
事件,以查看是否触发了该事件?请尝试在包含表单上设置
keydeview=True
,事件处理程序将出现在那里。在这里工作。阿尔菲,谢谢你的回复。我在回答你的问题时添加了更多信息。wqw-谢谢。这解决了(或解决了!)这个问题。
Private Sub UserControl_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF1 Then KeyCode = 0
End Sub