首页 > 代码库 > WPF TextBox 控件获取热键并转为 win32 Keys
WPF TextBox 控件获取热键并转为 win32 Keys
WPF 中使用的 Key 对象与 WinForm 中的 Keys 不同,两者的按键枚举对象与物理键的映射关系有功能键上有区别,无法进行类型强制转换。使用 win api 注册热键时,需要将之转换成 win32 的键值,可以使用 KeyInterop.VirtualKeyFromKey(),另外,Keys 可以保存组合鍵,Key 则只是单个按键。Keys 的成员中有个 Modifiers,从下图可以看出 0~15位之外,是用来存放功能键的。 从两张图对比上,可以直观地发现两者的区别。
示例代码:
using System.Windows.Input; namespace demo.Controls { class HotKeyTextBox : BeiLiNu.Ui.Controls.WPF.Controls.XTextBox { private System.Windows.Forms.Keys pressedKeys = System.Windows.Forms.Keys.None; protected override void OnPreviewKeyDown(System.Windows.Input.KeyEventArgs e) { int keyValue = http://www.mamicode.com/KeyInterop.VirtualKeyFromKey(e.Key);>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。