2

PreviewKeyDownEvent を使用して押されたキーを取得するにはどうすればよいですか。はい、押されたキーを返す KeyEventArgs があります。しかし、私が直面している問題は、小文字と小文字を区別できないことです

その人が a または A または大文字と小文字を区別するその他の文字を押したかどうかを確認する必要があります

ありがとう

4

3 に答える 3

1

キーの ASCII コードを取得する必要があります

VB の例はこちら - Google には他にも多数あります

ここでのより良い例

于 2013-08-29T15:27:31.530 に答える
0

基本的に、値をKeyEventArgs.Key必要なキーと比較します。

private void PreviewKeyDownHandler(object sender, KeyEventArgs e)
{
    if (e.Key == Key.A) DoSomething();
}

大文字が押されたかどうかを知りたい場合は、SHIFTキーも押されたかどうかを確認する必要があります。

private void PreviewKeyDownHandler(object sender, KeyEventArgs e)
{
    if (e.Key == Key.A && Keyboard.Modifiers == ModifierKeys.Shift) DoSomething();
}

更新 >>>

ボタンが押されているかどうかも検出する必要がある場合Caps Lockは、次の条件を確認できます。

if (Keyboard.GetKeyStates(Key.CapsLock) == KeyStates.Toggled) 
{
    if (e.Key == Key.A) DoSomething();
}
于 2013-08-29T16:04:32.327 に答える