@MrFlatman
Студент

Проверка TextBox на числа?

Недавно появилась задача, сделать работу в Виндовс Форме, толком с ними не работал, поэтому столкнулся с такой задачей. Есть TextBox, необходимо проверить ввел ли пользователь хоть что-то и является ли введенные данные числами, если нет тогда желательно вывести MassageBox с ошибкой, или просто в том же TextBox вывести ошибку.
Я сделал очень тупо, просто вот так вот:
String^S1 = textBox1->Text;
		if (S1 == "") {
			MessageBox::Show("Вы не ввели значение А. Значение А принято как 0", "Ошибка!");
		}
		else {
			a = Convert::ToInt32(S1);
		}

Понимаю что это не правильно, хотелось бы узнать как лучше сделать, чтобы не выглядело бы так ужасно
  • Вопрос задан
  • 1991 просмотр
Решения вопроса 1
@alexalexes
В студенческие годы оборачивал в try catch:
a = Convert::ToInt32(S1);
Если конвертер обваливается - то было не число, прокатило преобразование - значит число.
Для учебных нужд хватало с головой.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Nipheris
@Nipheris Куратор тега C++
Ответ написан
Комментировать
alexsandr0000
@alexsandr0000
Программист C#/C++/C
Почему не использовать NumericUpDown?
Если использование TextBox принципиально, то можно использовать, в дополнении вышеперечисленному Regex.IsMatch(input, @"^\d+$")
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы