从按下的键获得准确的字符

时间:2015-02-04 22:20:21

标签: c# opentk

我正在使用OpenTK窗口,我正在尝试为GUI创建一个手工制作的文本框。

我遇到的问题是获得正确的键盘输入。

例如,当用户键入 Shift + 1 时,文本字段中显示的字符是感叹号。

问题是,使用输入库只需给我原始按键。即,按 Shift + 1 会给出一个按下shift的事件,以及一个按下1的事件。

我想知道是否有办法将这些印刷机转换成适当的字符,以便他们可以使用键盘上可用的任何特殊字符。

如果此功能不可用 - 最好的方法是在与修饰符一起使用时对相应的键进行硬编码吗?


编辑:我将我使用的事件从KeyDown更改为KeyPress - 它提供了一个正确处理修改器的不同事件。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

使用您的控件的 keypress EventHandler 然后

if(e.keychar==(char)keys.[specified key])do some work

e 是按键事件处理程序功能的参数