从按下的键中获取准确的字符
Getting the accurate character from keys pressed
我正在使用 OpenTK window,我正在尝试为 GUI 创建一个手工制作的文本框。
我 运行 遇到的问题是获得正确的键盘输入。
例如,当用户键入 Shift + 1 时,出现在文本字段中的字符是感叹号。
问题是,使用输入库只会给我原始按键。即,按 Shift + 1 会给您一个按下 shift 的事件,以及一个按下 1 的事件。
我想知道是否有办法将这些按键转换为适当的字符,以便他们可以使用键盘上可用的任何特殊字符。
如果此功能不可用 - 最好的方法是在修饰符与它们一起使用时对适当的键进行硬编码吗?
编辑: 我将我使用的事件从 KeyDown 更改为 KeyPress - 它提供了一个可以正确处理修饰符的不同事件。感谢大家的帮助!
使用 keypress EventHandler 你的控件
然后
if(e.keychar==(char)keys.[specified key])do some work
e 是按键事件处理函数的参数
我正在使用 OpenTK window,我正在尝试为 GUI 创建一个手工制作的文本框。
我 运行 遇到的问题是获得正确的键盘输入。
例如,当用户键入 Shift + 1 时,出现在文本字段中的字符是感叹号。
问题是,使用输入库只会给我原始按键。即,按 Shift + 1 会给您一个按下 shift 的事件,以及一个按下 1 的事件。
我想知道是否有办法将这些按键转换为适当的字符,以便他们可以使用键盘上可用的任何特殊字符。
如果此功能不可用 - 最好的方法是在修饰符与它们一起使用时对适当的键进行硬编码吗?
编辑: 我将我使用的事件从 KeyDown 更改为 KeyPress - 它提供了一个可以正确处理修饰符的不同事件。感谢大家的帮助!
使用 keypress EventHandler 你的控件 然后
if(e.keychar==(char)keys.[specified key])do some work
e 是按键事件处理函数的参数