1

如何确定按下Key是否是关于文化特定键的字母键

例如:

'[' = 'ú' = 'ü'...是相同的键,但在不同语言键盘上具有不同的值。

我尝试比较序号键值: (int)e.Key >= 0x20E ..and <= .. 但效果不佳,因为修饰键有时具有相同的序号代码。

任何想法?谢谢

编辑:

嗯,这个怎么样?

System.Text.RegularExpressions.Regex objAlphaNumericPattern = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9]");
            if (!objAlphaNumericPattern.IsMatch(e.Key.ToString()))      
            {
                lp.IsDropDownOpen = true;
            }
4

1 回答 1

-1

char.IsLetter方法对您的情况有用吗?

char.IsLetter('['); //Return false
char.IsLetter('ú'); //Return true

使用您的示例,我们可以编写:

if (!char.IsLetterOrDigit((char)e.Key))
{
    lp.IsDropDownOpen = true;
}
于 2010-03-08T15:38:47.857 回答