我计划将键盘快捷键保存在数据库中。当用户按下快捷键时,应打开特定窗口。 功能与Visual Studio键盘快捷键分配窗口相同,
这里我应该将哪个组合键存储在数据库中?
我正在听以下方法来挂接按键
protected override void OnKeyUp(KeyEventArgs e)
{
// Here I'm gonna hook the keypress
}
如果用户按下,CTRL + W
(任何与 Control 键的组合键)
e.KeyboardDevice.Modifiers
为 Control
,e.Key
为 W
如果用户按下,ALT + W
(任何带有 Alter 键的组合键)
e.KeyboardDevice.Modifiers
是 Alt
,e.Key
是 System
和 e。 SystemKey
是 W
如果用户按下,CTRL + Shift + W
将在两个连续的 OnKeyUp 事件中给出组合键
没有共同的模式。 我应该 Hook 哪个组合?我应该将哪种组合存储在数据库中?
最佳答案
看看KeyGesture类(class)。您可以保存和解析字符串中的手势,还可以在 OnKeyUp
方法中轻松比较它们,如下所示:
if (e.Key == Gesture.Key && Gesture.Modifiers == Keyboard.Modifiers)
//do stuff...
关于c# - 在数据库 WPF 中存储键盘快捷键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10828450/