我試圖通過ALT + 9檢測ALT + 1的熱鍵,但是當ALT被按下時,鍵以Key.System的形式出現。當CTRL + NumPad0被按下時,它的鍵是Key.NumPad0,它是正確的。Keys.Numpad0作爲Keys.System,當ALT被按下時
private void MainWindow_PreviewKeyDown(object sender, KeyEventArgs e)
{
bool isAlt = Keyboard.IsKeyDown(Key.LeftAlt) || Keyboard.IsKeyDown(Key.RightAlt);
bool isCtrl = Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl);
string ctrlMod = string.Empty;
if (isAlt)
{
ctrlMod = "alt + " + e.Key.ToString();
}
if (isCtrl)
{
ctrlMod = "ctrl + " + e.Key.ToString();
}
Debug.WriteLine("Key is " + ctrlMod);
}
ALT + NUMPAD0通過ALT + NUMPAD9生產:
鍵是Alt +系統
按Ctrl正常工作
鍵是Ctrl + NUMPAD1
鍵是Ctrl + NumPad2
鍵是ctrl + NumPad3
它可能有一些做與Windows Alt鍵代碼 – maccettura
https://social.msdn.microsoft.com/Forums/vstudio/en-US/4355ab9a-9214-4fe1-87ea-b32dfc22946c/issue-with-alt-key-and-key-down-event?for嗯= WPF – maccettura