Как запретить вводить больше 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;
}
→ Ссылка