Ввод минуса только первым символом - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток. Подскажите как сделать чтобы минус вводился в textbox только первым символом. Google не помог

Решение задачи: «Ввод минуса только первым символом»

textual
Листинг программы
  1. private void Tb_KeyPress(object sender, KeyPressEventArgs e)
  2. {
  3.     var tb = (TextBox)sender;
  4.     //Разбираемся с минусом
  5.     if (e.KeyChar.ToString().Equals("-"))
  6.     {
  7.         e.Handled = tb.SelectionStart != 0 || tb.Text.IndexOf("-") != -1;
  8.         if (!e.Handled)
  9.         {
  10.             return;
  11.         }
  12.     }
  13.     //Десятичный разделитель в системе
  14.     var decSep = NumberFormatInfo.CurrentInfo.NumberDecimalSeparator;
  15.     //Разбираемся с десятичным разделителем.
  16.     if (e.KeyChar.ToString().Equals(decSep))
  17.     {
  18.         e.Handled = tb.Text.Length == 0 || tb.Text.IndexOf(decSep) != -1;
  19.         if (!e.Handled)
  20.         {
  21.             return;
  22.         }
  23.     }
  24.     //Разбираемся с цифрами
  25.     e.Handled = !char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar);
  26. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы