ユーザーがさまざまなものを選択できるメニューバーを持つように、フォームの 1 つに 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
しかし、これをコメントアウトしても、上記の動作が引き続き発生します。