none
 ボタンのニーモニックが、ALTを押さなくても効いてしまう。 RRS feed

  • 質問

  • 毎々お世話になっております。

    WindowsXP-Pro Ver.2002 SP2 上で
    Visual Studio 2005 Enterprise Edition でVB2005による開発を行っております。

    ニーモニックを設定したボタンはALT+ニーモニック文字(例えば”管理(&M)"の場合はALT+M) でショートカットが効くと思っていたのですが、

    本日ALTを押さなくても効いてしまう(前述の例ではMの押下)事に気がついたのです。

    もちろんカーソルがテキストボックス等上にある場合は入力文字として処理されていますが、

    そうでない場合は、ボタンのショートカットとして処理されてしまいます。

    飽くまでALTを押しながらの場合だけニーモニックとして有効になるようにできないのでしょうか?

    よろしくお願いします。

    2011年10月4日 13:04

回答

  • Alt キーを押さなくても動作するのが、Windows の仕様です。
    逆にこの操作を聞かなくすると、不満を感じる人が出てくるかもしれません。

    自分専用として作っているというのであれば、止める理由はありませんが、たぶん面倒くさいです。
    キーイベントをかなり早めのタイミングで横取りして、Alt キーが押されてなければ握りつぶして、テキストボックスなどの入力要素であれば素通ししてといったコードを書かないといけないと予想されます。

    もしくは、&M などと使わずに、キーイベントで自分で実装するかでしょうか。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2011年10月4日 13:53
    モデレータ