我的一个表单中有一个 MenuStrip,这样用户就有一个菜单栏,他们可以从中选择各种东西。为方便起见,有些还映射了快捷键。通过覆盖 MenuStrip 的渲染器,我还实现了所有项目及其子菜单的自定义外观。
当我对附有下拉列表的项目使用快捷键时,会出现此问题。当列表关闭时,如果我按了转义键,列表将按预期关闭,但仍选择父项。它仍然突出显示,并且仍然具有焦点。再次按下退出键没有任何作用。我认为我应该自己实施这种行为?如果是这样,怎么做?ToolStripMenuItems 似乎没有任何函数调用会告诉它取消选择。
编辑:如果有人好奇,我正在寻找在表单的 KeyDown 事件中捕获转义键。我用它来退出表格。这是代码:
Private Sub myForm_KeyDown(sender as Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Escape Then
Me.Close()
e.Handled = True
End If
End Sub
但即使我对此发表评论,我仍然会遇到上述行为。