C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 124 を表示中)
■73831 / )  Re[1]: ホットキーの長押しを取得したい
□投稿者/ とっちゃん (270回)-(2014/11/07(Fri) 18:37:41)
とっちゃん さんの Web サイト
No73830 (pod さん) に返信

> 一応キーの状態は判別できているのですが、指定していない余分なキーが押されていた場合であっても押されたことになってしまいます。
> 例えば「Control+Shift+A」にのみ反応させるつもりが、「Control+Alt+Shift+A」のように、指定したキーが全て含まれてさえいれば反応しているようです。
>
Control.ModifiersKeys を、中途半端にマスクしてしまうのが原因です。
(Control.ModifierKeys & mod) == mod
とすると、Control.ModifierKeys を比較する前に比較したい項目だけでマスクしてしまうので
それ以外のキーが押されているかどうかが判定に含まれていません。

マスクせずに比較すれば判定できると思いますよ。

返信 編集キー/


管理者用

- Child Tree -