четверг, 13 октября 2011 г.

C# - TextBox для ввода денежных сумм

Если нам нужно, чтобы элемент управления типа TextBox позволял вводить только цифры и точку (денежную сумму), то в обработчике KeyPress данного элемента управления пишем следующее:

     private void SumBox_KeyPress(object sender, KeyPressEventArgs e)
{
      if (!(Char.IsDigit(e.KeyChar)) && !((e.KeyChar == '.') &&         (SumBox.Text.IndexOf(".") == -1)&& (SumBox.Text.Length != 0)))
      {
             if (e.KeyChar != (char)Keys.Back)
             {
                   e.Handled = true;
             }
      }
}

Такой обработчик позволяет:
  1. Вводить цифры или точку
  2. Точка может быть введена только один раз и не первым символом
  3. Для удаления символов используется BackSpace

Комментариев нет:

Отправить комментарий