2013-03-25 1 views
0

Я сделал текстовое поле для ввода номера телефона. Я хочу только цифры, кнопку удаления и клавишу дефиса для нажатия. Я использовал следующий код: Он работает для удаления кнопки и цифр, что я делаю для дефиса?Как только разрешить ввод чисел, клавиши возврата и клавиши подменю в текстовое поле

private void ContactNumTextBox_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    const char Hyphen = (char)2d; 
    const char Delete = (char)8; 
    if (char.IsNumber(e.KeyChar) && e.KeyChar != Hyphen && e.KeyChar!= Delete) 
     e.Handled = true; 
} 

ответ

3

При использовании шестнадцатеричных чисел вы должны указать номер 0x. Ваш код в настоящее время компилируется из-за совпадения, что d указывает, что это номер. Следующий код будет правильно определять дефисы:

private void ContactNumTextBox_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    const char hyphen = (char)0x2D; 
    const char delete = (char)0x08; 
    if (!char.IsNumber(e.KeyChar) && e.KeyChar != hyphen && e.KeyChar!= delete) 
     e.Handled = true; 
} 

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

  • Нет связанных вопросов^_^