Как запретить вводить больше 1 запятой
как преобразовать это условие, чтобы запретить ввод не только 2 запятых подряд, но и в целом больше 1 запятой
for (int i = 0; i < (sender as TextBox).Text.Length - 1; i++)
{
if ((sender as TextBox).Text[i] == ',' && (sender as TextBox).Text[i + 1] == ',')
{
string s = (sender as TextBox).Text;
s = s.Remove(i+1);
(sender as TextBox).Text = s;
}
}
Ответы (1 шт):
Автор решения: Danila Kartovitskii
→ Ссылка
Чтобы запретить ввод больше одной запятой в текстовом поле, можно изменить подход в вашем коде. Вместо того, чтобы удалять только две запятые подряд, можно проверить, есть ли вообще больше одной запятой в строке и, если это так, предотвратить вставку новой запятой.
int commaCount = ((sender as TextBox).Text.Count(c => c == ','));
if (commaCount > 1)
{
string s = (sender as TextBox).Text;
s = s.Remove(i+1);
(sender as TextBox).Text = s;
}