2013-02-15 4 views
1
private void txtLastName_PreviewKeyDown(object sender, KeyEventArgs e) 
    { 
     if (!char.IsDigit((char)e.Key)) e.Handled = true; 
    } 

Но он не поддерживает все клавиши в клавиатуре.Создайте WPF TextBox, который принимает только текст

+0

Какие символы вы не хотите принять? Например. @:; _-- #()/\.,?! '' "или числа тоже? – PGallagher

+0

Я хочу ввести только текст. –

ответ

2

Вы должны использовать IsLetter.

private void txtLastName_PreviewKeyDown(object sender, KeyEventArgs e) 
    { 
     if (Char.IsLetter((char)e.Key)) e.Handled = true; 
    } 
2
private void txtLastName_PreviewTextInput(object sender, TextCompositionEventArgs e) 
    { 
     if (!System.Text.RegularExpressions.Regex.IsMatch(e.Text, "^[a-zA-Z]")) 
     { 
      e.Handled = true; 
     } 
    } 
+2

Пожалуйста, старайтесь избегать просто сдачи кода в качестве ответа и попытаться объяснить, что он делает и почему Ваш код может быть не очевиден для людей, у которых нет соответствующего опыта в кодировании. Измените свой ответ, чтобы включить [пояснение, контекст и попытаться упомянуть любые ограничения, допущения или упрощения в вашем ответе.] (Https: // stackoverflow. ком/помощь/как к ответу) –

Смежные вопросы