IsLetter on DataGrid KeyDown Event

本文关键字:Event KeyDown DataGrid on IsLetter | 更新日期: 2023-09-27 18:05:54

我试图通过计算他们的输入是字母还是数字来将用户输入分解到DataGrid上的KeyDown事件。这是我目前使用的方法;

private void OnDataGridKeyDown(object sender, KeyEventArgs e)
{
    if (char.IsLetter(Convert.ToChar(e.Key)))
    {
        MessageBox.Show("Letter");
    }
    if (char.IsDigit(Convert.ToChar(e.Key)))
    {
        MessageBox.Show("Number");
    }
}

然而,这执行得很奇怪。首先,IsDigit从来没有发生过,而且显然没有工作。其次,IsLetter工作,但只对一些字母(W,Z,X,V和Y)。必须有一个更全面的方法来做到这一点,因为这显然不适合我。

IsLetter on DataGrid KeyDown Event

key.toChar()char之间存在您期望存在的差异。你可以在这里读到转换,但不是简单的:

如何捕捉'#'字符在不同的语言环境键盘在WPF/c# ?