//enter鍵和alt鍵組合
if (e.KeyStates == Keyboard.GetKeyStates(Key.Return) && Keyboard.Modifiers == ModifierKeys.Alt) { }
或
if (e.KeyStates == Keyboard.GetKeyStates(Key.Return) && (e.KeyboardDevice.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
{
}
//KeyboardDevice屬性也提供了IsKeyDown方法,IsKeyUp方法,IsKeyToggled方法和GetKeyStates方法
//對於檢測具有開關功能的鍵,可以使用Keyboard類下的IsKeyToggled()方法來檢測
if (e.KeyboardDevice.IsKeyDown(Key.NumLock))
{
MessageBox.Show(string.Format("您按下了NumLock鍵,當前狀態為:{0}", e.KeyboardDevice.IsKeyToggled(Key.NumLock)));
}
對於鍵盤事件(PreviewKeyDown,KeyDown,PreviewKeyUp,KeyUp)獲取組合鍵等鍵盤信息比較容易
1、KeyEventArgs對象包含一個KeyStates屬性,該屬性反映觸發事件的鍵的屬性
2、KeyboardDevice屬性為鍵 盤上的所有鍵提供了相同的信息,自然也提供了一個KeyboardDevice類的一個實例。它的屬性包括當前是哪個元素具有焦點,以及當事件發生時按下了哪些修飾鍵(Modifiers)包括Shift、Ctrl、Alt鍵,並且使用位邏輯來檢查它們的狀態.
KeyboardDevice屬性也提供了IsKeyDown方法,IsKeyUp方法,IsKeyToggled方法和GetKeyStates方法
本文參考http://www.cnblogs.com/zhuiyi/archive/2012/09/23/2699072.html