2

我打算将键盘快捷键保存在数据库中。当用户按下快捷键时,应打开特定窗口。与 Visual Studio 键盘快捷键分配窗口相同的功能,

在此处输入图像描述

我应该在数据库中存储哪个组合键?

我正在听以下方法来挂钩按键

protected override void OnKeyUp(KeyEventArgs e)
{
     // Here I'm gonna hook the keypress
}

如果用户按下,CTRL + W(与控制键的任何组合键)

e.KeyboardDevice.ModifiersControle.KeyW

如果用户按下,ALT + W(与 Alter Key 的任何组合键)

e.KeyboardDevice.Modifiers是是是是Alt_e.KeySysteme.SystemKeyW

如果用户按下,CTRL + Shift + W它会在两个连续的 OnKeyUp 事件中给出键组合

没有共同的模式。我应该 Hook 哪个组合?我应该将哪种组合存储在数据库中?

4

1 回答 1

3

查看KeyGesture类。您可以保存和解析字符串中的手势,也可以在您的OnKeyUp方法中轻松地比较它们,如下所示:

if (e.Key == Gesture.Key && Gesture.Modifiers == Keyboard.Modifiers)
   //do stuff...
于 2012-05-31T06:38:39.733 回答