识别KeyEventHandler中的西里尔字母或德语字符
本文关键字:德语 字符 KeyEventHandler 识别 | 更新日期: 2023-09-27 18:02:51
KeyEventHandler可以捕获正确的外国键盘字符吗?
我需要看看句子是否包含某些字符,而键入和德国的变音符字符,西里尔字母和其他应该被识别,如果用户有系统键盘选择。
this.PreviewKeyDown += new KeyEventHandler(OnButtonKeyDown);
private void OnButtonKeyDown(object sender, KeyEventArgs e)
{
Sentence.Contains(e.Key.ToString());
例如,输入ö会得到"Oem3",无论选择哪个键盘,该按钮都是如此。
我不能在这里使用文本框,所以KeyEventHandler是首选。
我不知道KeyEventArgs
有任何方法可以做到这一点。但是你也可以用PreviewTextInput
事件代替PreviewKeyDown
事件。例如:
this.PreviewTextInput += OnButtonPreviewTextInput;
...
void OnButtonPreviewTextInput(object sender, TextCompositionEventArgs e)
{
if ("äöüÄÖÜß".Contains(e.Text))
{
Debug.WriteLine("German text entered");
}
else if (e.Text.Any(c=>0x0400 <= c && c <= 0x4FF))
{
Debug.WriteLine("Cyrillic text entered");
}
}