- PR -

Altキーの無効化について

1
投稿者投稿内容
モンジ
ベテラン
会議室デビュー日: 2005/09/06
投稿数: 85
投稿日時: 2008-07-08 19:54
Alt + Enterである処理を行いたいのですが、
Altを押すと、MDIにあるMenuStripにフォーカスが移り、
Enterにより、メニューが展開されてしまいます。
そのため、目的の処理はできているのですが、
メニューが展開されるという余分な動きも付いてきます。

このような症状を直す方法をご存知の方、いらっしゃれば教えてください。

因みに、KeyDownイベントでAltであれば、e.Handle = Trueにしたところ、
見た目はMenuStripにフォーカスが移っていないのですが、
Enterによってメニューが展開されるのは直りませんでした。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-07-09 00:12
引用:

モンジさんの書き込み (2008-07-08 19:54) より:

Altを押すと、MDIにあるMenuStripにフォーカスが移り、
Enterにより、メニューが展開されてしまいます。


Windows 標準のアプリケーションをいくつか試したみた感じ KeyUp までは [Alt] キーによる Menu への遷移は無効であるのに不思議ですね。 よくわかりませんが、KeyDown でキャンセルできないのであれば、ProcessCmdKey メソッド以前でキャンセルしないとダメかもしれませんね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
GENZO
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 111
お住まい・勤務地: 名古屋
投稿日時: 2008-07-10 23:28
ProcessDialogKeyなら拾えるかもしれません。

http://www.atmarkit.co.jp/fdotnet/dotnettips/241windlgkey/windlgkey.html
1

スキルアップ/キャリアアップ(JOB@IT)