Q
禁用WPF中的键
0
A
回答
1
如果你的所有动作放在一个窗口内,注册到窗口的事件PreviewKeyDown,并且如果按下了其中一个所需的组合键,则始终将事件的Handled-property设置为true。不要使用KeyDown事件。它通常发生得太晚。使用PreviewKeyDown。
如果您有多个窗口,您可以考虑制作一个附加属性并在处理程序中注册。
修改键您可以通过Keyboard.Modifiers属性进行检查。
1
,你可以使用windows API:SetWindowsHookEx
在这里看到一个例子:http://geekswithblogs.net/aghausman/archive/2009/04/26/disable-special-keys-in-win-app-c.aspx
注意的例子是用于Windows窗体,但也应努力在WPF与细微的变化。
2
尝试重写KeyDown Event:
protected override void OnKeyDown(KeyEventArgs e)
{
if (Keyboard.Modifiers == ModifierKeys.Alt && e.SystemKey == Key.F4 ||
Keyboard.Modifiers == ModifierKeys.Control && e.SystemKey == Key.Escape)
{
e.Handled = true;
}
else
{
base.OnKeyDown(e);
}
}
相关问题
- 1. 如何在WPF中禁止退格键
- 2. 禁用WPF列表框中的键盘导航
- 3. 在WPF应用程序中禁用右键单击(按住)。
- 4. 禁用WPF
- 5. 禁用WPF MVVM
- 6. 在Wpf中禁用动画
- 7. 禁用GTKTreeView中的键盘快捷键
- 8. 禁用UI键盘中的特定键
- 9. 如何禁用fabricjs中禁用shift键?
- 10. 禁用键盘上的键
- 11. C#WPF禁用复选框取消选中时 - 或+键入
- 12. 可以在WPF Datagrid中禁用F2键吗?
- 13. 如何禁用WPF Webbrowser控件上的“右键单击”?
- 14. 如何禁用Wpf中的acrobat reader contextmenu?
- 15. 禁用WPF DataGrid行中的焦点
- 16. 禁用WPF中的所有文本框
- 17. 如何禁止WPF中的菜单键盘快捷键KeyDown处理?
- 18. jquery禁用键盘按键
- 19. 禁用键盘快捷键
- 20. WPF启用/禁用控制
- 21. 禁用WPF标签加速键(缺少文本下划线)
- 22. 从wpf中的文本框禁用快捷命令,保持击键检测
- 23. 如何在WPF RichTextBox中禁用鼠标右键的默认上下文菜单?
- 24. 当禁用键盘
- 25. 禁用十字键
- 26. 禁用Android键盘
- 27. 如何禁用在WPF中禁用项目时突出显示?
- 28. JQuery的禁用空格键
- 29. 禁用键盘jQuery的
- 30. 如何禁用Dojo中的热键StackContainer