我正在编写自定义文本编辑器,我使用KeyDown和KeyUp事件.该事件从包含"Key"实例的参数获取KeyEventArgs.
我怎样才能将"钥匙"变成真正的焦炭?
使用Key.ToString()和"." 我得到一个"OmePeriod"或","我得到一个"OmeComma".我可以直接转换这些值...但这是一项艰苦的工作,我确信必须存在任何将Key转换为真正的"char"的类.
谢谢!
问候.
我有System.Windows.Input.KeyEventArgs变量.我想获得真正的焦炭.例如,我按下}键盘上的按钮.通常它返回字符串, oem..但我想得到}char.怎么做 ?
[编辑]我在TextBox中使用它.
如果我使用win32调用拦截按键,我现在有一个密钥代码.有没有办法将其转换为System.Windows.Forms.Keys值?
我需要将事件args作为a char,但是当我尝试转换Key枚举时,我得到的字母和符号与传入的字母和符号完全不同.
你如何正确地将Key转换为char?
这就是我尝试过的
ObserveKeyStroke(this, new ObervableKeyStrokeEvent((char)((KeyEventArgs)e.StagingItem.Input).Key));
Run Code Online (Sandbox Code Playgroud)
编辑:我也没有args上的KeyCode属性.我从InputManager.Current.PreNotifyInput事件中获取它们.
我需要能够读取一个字符并使其与其语言和键盘布局相关.
我知道如何看待文化背景和语言.但是我怎么能用英文写一个像'S'的字母,知道它在键盘上的键是什么?或者对于一个更难的问题,我怎么能拿到字母"ש"并知道它在键盘上的键是什么?
c# ×5
wpf ×3
key ×2
keyeventargs ×2
.net ×1
char ×1
converter ×1
keydown ×1
text-editor ×1
winapi ×1