c# - 在数据库 WPF 中存储键盘快捷键

标签 c# wpf keyboard-shortcuts

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

enter image description here

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

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

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

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

e.KeyboardDevice.ModifiersControle.KeyW

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

e.KeyboardDevice.ModifiersAlte.KeySysteme。 SystemKeyW

如果用户按下,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/

相关文章:

wpf - 调整 WPF 窗口的大小,但保持比例?

linux - 在 linux 中使用按键启动进程

javascript - 识别键盘快捷键(Ctrl + W)在 chrome 中按下

c# - 将列添加到绑定(bind)到 DataGridView 的 DataTable 不会更新 View

c# - unity loadConfiguration 失败

c# - 通过 ViewModel 验证模型

java - 如何为国际键盘定义可读的快捷键?

c# - <% %> 之外的文本的正则表达式

c# - 可拖动的 Boxview 不更新 Xamarin

使用 Caliburn.Micro 实现 WPF UI 自动化?