KeyEventArgs (.NET Framework)


KeyCodeとKeyData

この2つはKeyUp, KeyDownイベントが発生した際に得られるKeyEventArgsのプロパティだが、
単純にキーを1つ押しただけだと同じ結果が得られるだけのようにしか感じられない。

…が、ShiftキーやControlキーが同時に押されている場合では結果が異なってくる。
例えば…

a+Shiftの場合
KeyData ... 65601
KeyCode ... 65
Shiftの場合
KeyData ... 65552
KeyCode ... 16

…と、変わってくる。
実際にキーのチェックを行う場合、KeyDataだと
if( e->KeyData == (Keys.A|Keys.Shift) )

KeyCodeだと
if( e->KeyCode == Keys.A && e->KeyCode.Shift )

のような感じで、チェック方法が変わってくるご様子。
最終更新:2009年04月13日 14:31
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。