none
C# MenuStripでのAltキーの動作について RRS feed

  • 質問

  • 初めて投稿します。

    WindowsForm の MenuStrip でおかしな動作が起こっており、原因がわからず困っております。

    Form に MenuStrip を追加し、そこにメニューアイテムを複数追加します。
    それぞれのメニューには子アイテムを複数追加します。
    また、全てのメニューアイテムにはアクセスキー(&x)を設定します。

    この Form を実行し、いずれかのメニューをドロップダウンした状態で、Form の余白部分をマウスでクリックして、
    メニューを閉じます。
    すると、Altキーを押しただけで1番左のメニューがドロップダウンしてしまいます。
    メニューがドロップダウンした状態で、AltキーやEscキーでメニューを閉じた場合は、直後のAltキー押下では
    1番左のメニューが反転するのみでドロップダウンはしない(これが通常の動作と認識しています)のですが、
    ドロップダウンしたメニューをメニュー以外の領域のマウスクリックで閉じた場合のみ上記のような動作になってしまうため、
    全く設定されていないアクセスキーを押してもメニューがドロップダウンしたように見えてしまい困っています。

    どなたか、原因もしくは対処方法がわかりますでしょうか?

    環境
    Windows XP Pro SP2
    Visual Studio 2008 C#

    2009年2月17日 12:23

すべての返信

  • .NET FrameworkのToolStripかMenuStripあたりの不具合じゃないかなぁ。
    再現はしますが、具体的にどのように手を打つかまでは何とも言えません。

    # ToolStripクラスのDisplayItemsに登録されたままなのが問題のようには見受けられますが、これを解消する手法が…。
    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    2009年2月17日 14:37
    モデレータ
  • Azulean様

    遅くなりましたが、コメントありがとうございました。
    結局解決方法が見つからず、また、致命的な動作ではないため、このままいくことにしました。

    MenuStripそのものが修正されるといいのですが...。

    ありがとうございました。
    2009年3月4日 4:37
  • 明確にバグだと判断できた場合や、新機能の提案はプロダクトフィードバックセンターに投稿してみましょう。
     http://connect.microsoft.com/VisualStudioJapan/
    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    2009年3月4日 14:06
    モデレータ