我在样式属性设置为“0 - 下拉组合”的用户控件上有一个组合框(cboURL)。当组合框获得焦点并按下 F1 时,会显示一个包含错误文本“此程序无法显示网页”的对话框窗口。
所需的行为是将 F1 按键发送到 UserControl_KeyDown 以便可以抑制 F1(对于 UserControl 上的所有其他控件也是如此):
Private Sub UserControl_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF1 Then KeyCode = 0
End Sub
UserControl 的 KeyPreview 属性设置为 True。
在 cboURL 中按下 F1 时,不会调用任何事件处理程序 cboURL_KeyDown()、cboURL_KeyUp()、cboURL_KeyPress()、UserControl_KeyDown()、UserControl_KeyUp() 或 UserControl_KeyPress()。也不会在嵌入用户控件的表单中调用 Form_KeyDown()、Form_KeyPress() 或 Form_KeyUp() 事件处理程序。
如果 cboURL 的 Style 属性设置为 '2 - Dropdown List',则当按下 F1 时调用UserControl_KeyDown。但是,我不能使用该设置,因为我需要能够输入不在下拉选项列表中的文本。
确实存在此应用程序的 .chm 帮助文件(由 hhc.exe 生成),但它不是独立的帮助文件。例如,从 Windows Exporer 中双击它会给出与上述相同的错误对话框。帮助文件包含使用控件的 WhatsThisHelpID 属性访问的弹出帮助文本。
任何人都可以建议解决此问题的方法或解决方法吗?