Как выяснилось, в .NET Framework у TextBox нет свойства Numeric.
Т.е. нельзя простым способом запретить ввод не цифровых символов. Кто-нибудь уже решил эту проблему?
Как сэмулировать у TextBox свойство Numeric (C#)
- RealPalmman
- Доктор (4 lvl)
- Сообщения: 206
- Зарегистрирован: Вт сен 02, 2003 17:54
Как сэмулировать у TextBox свойство Numeric (C#)
Palm m105 -> iPAQ h2210 -> FS Loox 720
GPS BC-307 -> BT-338
Nokia 6310i -> Nokia 5500
GPS BC-307 -> BT-338
Nokia 6310i -> Nokia 5500
- RealPalmman
- Доктор (4 lvl)
- Сообщения: 206
- Зарегистрирован: Вт сен 02, 2003 17:54
Отвечаю сам:
Отлавливаем вводимые символы, если они не цифры, запрещаем ввод. Аналогично можно фильтровать любые символы.
Отлавливаем вводимые символы, если они не цифры, запрещаем ввод. Аналогично можно фильтровать любые символы.
Код: Выделить всё
public class FormGood : System.Windows.Forms.Form
{
private bool nonNumberEntered = false;
private void textBox_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
nonNumberEntered = false;
if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
{
if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)
{
if(e.KeyCode != Keys.Back)
{
nonNumberEntered = true;
}
}
}
}
private void textBox_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar == (char)13)
{
e.Handled=true;
ok.Focus();
}
if (nonNumberEntered == true)
{
e.Handled = true;
}
}
}
Palm m105 -> iPAQ h2210 -> FS Loox 720
GPS BC-307 -> BT-338
Nokia 6310i -> Nokia 5500
GPS BC-307 -> BT-338
Nokia 6310i -> Nokia 5500