HPC.ru lite - Все форумы
Форум: Программирование для КПК
Тема: Как сэмулировать у TextBox свойство Numeric (C#)
[Ответить]
RealPalmman [30.11.2005 15:07] Как сэмулировать у TextBox свойство Numeric (C#):
Как выяснилось, в .NET Framework у TextBox нет свойства Numeric.
Т.е. нельзя простым способом запретить ввод не цифровых символов. Кто-нибудь уже решил эту проблему?
RealPalmman [09.12.2005 16:23] :
Отвечаю сам:
Отлавливаем вводимые символы, если они не цифры, запрещаем ввод. Аналогично можно фильтровать любые символы.
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;
}
}
}
[Ответить]