1
private void txtLastName_PreviewKeyDown(object sender, KeyEventArgs e)
    {
        if (!char.IsDigit((char)e.Key)) e.Handled = true;
    }

但它不支持键盘中的所有键。

4

3 回答 3

5
    private void txtLastName_PreviewTextInput(object sender, TextCompositionEventArgs e)
    {
        if (!System.Text.RegularExpressions.Regex.IsMatch(e.Text, "^[a-zA-Z]"))
        {
            e.Handled = true;
        }
    }
于 2017-06-19T20:57:13.377 回答
1

您必须使用IsLetter.

private void txtLastName_PreviewKeyDown(object sender, KeyEventArgs e)
    {
        if (Char.IsLetter((char)e.Key)) e.Handled = true;
    }
于 2013-02-15T07:12:23.283 回答
0

这个线程真的很旧,但如果有人仍然需要它,这里是为我工作的代码

(编辑了一点 Usman 的代码)

private void TextValidationTextBox(object sender, TextCompositionEventArgs e)
{
      Regex regex = new Regex("[^a-zA-Z]+");
      e.Handled = regex.IsMatch(e.Text);
}

并且不要忘记将下面的代码放入您只想接受文本的 TextBox (在 xaml 中)

PreviewTextInput="TextValidationTextBox"
于 2021-12-28T19:10:29.420 回答