Ввод минуса только первым символом - C#
Формулировка задачи:
Всем доброго времени суток. Подскажите как сделать чтобы минус вводился в textbox только первым символом. Google не помог
Решение задачи: «Ввод минуса только первым символом»
textual
Листинг программы
- private void Tb_KeyPress(object sender, KeyPressEventArgs e)
- {
- var tb = (TextBox)sender;
- //Разбираемся с минусом
- if (e.KeyChar.ToString().Equals("-"))
- {
- e.Handled = tb.SelectionStart != 0 || tb.Text.IndexOf("-") != -1;
- if (!e.Handled)
- {
- return;
- }
- }
- //Десятичный разделитель в системе
- var decSep = NumberFormatInfo.CurrentInfo.NumberDecimalSeparator;
- //Разбираемся с десятичным разделителем.
- if (e.KeyChar.ToString().Equals(decSep))
- {
- e.Handled = tb.Text.Length == 0 || tb.Text.IndexOf(decSep) != -1;
- if (!e.Handled)
- {
- return;
- }
- }
- //Разбираемся с цифрами
- e.Handled = !char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д