我有一个用户控制其样式属性被设置为一个组合框(cboURL)“0 - 下拉组合”。当组合框具有焦点和F1被按下时,显示一个对话框窗口包含错误文本“此程序不能显示该网页”。错误对话框显示当F1按压组合框
所要求的行为是F1按键被发送到UserControl_KeyDown让F1可以抑制(因为它是在用户控件的所有其他控件):
Private Sub UserControl_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF1 Then KeyCode = 0
End Sub
的用户控件的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 被调用。但是,我无法使用该设置,因为我需要能够输入不在下拉选项列表中的文本。
这个应用确实存在(由hhc.exe产生的)一个的.chm帮助文件,但它不是一个独立的帮助文件。例如,从Windows Exporer中双击它可以得到与上述相同的错误对话框。帮助文件包含使用控件的WhatsThisHelpID属性访问的弹出帮助文本。
任何人都可以提出修复或针对此问题,请解决方法?
这听起来像它试图加载的帮助文件程序,这显然不存在。 F1是加载帮助文件的默认键。您是否尝试过检查你的窗体的'的KeyDown/KeyPress'事件,看看是否是被解雇? – Alfie
尝试设置'的KeyPreview = TRUE;含形式,'KeyDown'事件处理程序去那里。在这里工作。 – wqw
阿尔菲,感谢您的回复。为了回答您的问题,我添加了更多信息。 – solenopsis