e.Key
WPFKeyDown
イベントからプロパティによって渡される ASCII 文字が必要です。
13516 次
4 に答える
4
残念ながら、これを行う簡単な方法はありません。回避策は 2 つありますが、どちらも特定の条件下で落ちます。
最初のものは、それを文字列に変換することです:
TestLabel.Content = e.Key.ToString();
これで CapsLock や Shift などがわかりますが、英数字キーの場合はその時点でシフトなどの状態がわからないので、それを把握する必要があります。あなた自身。
2 番目の方法は、代わりに TextInput イベントを使用することです。この場合、e.Text には入力された実際のテキストが含まれます。これにより、英数字キーの正しい文字が得られますが、制御文字は得られません。
于 2009-01-28T09:05:57.367 に答える
3
簡潔な質問から、押されたキーの ASCII 値を取得する方法が必要だと思います。これはうまくいくはずです
private void txtAttrName_KeyDown(object sender, KeyEventArgs e)
{
Console.WriteLine(e.Key.ToString());
char parsedCharacter = ' ';
if (Char.TryParse(e.Key.ToString(), out parsedCharacter))
{
Console.WriteLine((int) parsedCharacter);
}
}
たとえば、Ctrl + S を押すと、次の出力が表示されます。
LeftCtrl
S
83
于 2009-01-28T09:40:28.903 に答える
-4
System.Enum.ToObject(e.Key.GetType(), (byte)e.Key).ToString();
于 2011-03-24T21:52:56.200 に答える