C# Игнорировать пустые текстовые поля
Привет,
я искал способ проверить, все ли текстовые поля из формы пусты, а если нет, то показать сообщение. Некоторые из них не видны.
У меня есть код ниже, но он почему-то не работает, когда я нажимаю кнопку ОК, я получаю ошибку, потому что текстовое поле пусто.
Кто-нибудь может помочь, пожалуйста ?
Заранее спасибо
Что я уже пробовал:
foreach (Control c in Controls) { if (c is TextBox && c.Visible && string.IsNullOrEmpty(c.Text)) { MessageBox.Show($"TextBox {c.Name} is empty"); } }
Philippe Mori
Попробуйте улучшить форматирование вопроса и исправить орфографические ошибки.
Marc-IT
Спасибо за подсказку, я думаю, что теперь все гораздо яснее.
Philippe Mori
Что ж, так гораздо лучше... Однако не совсем ясно, что именно вы хотите сделать и в чем заключается ваша проблема. Легко понять, что приведенный выше код будет показывать окно сообщения для каждого пустого текстового поля...
Но в вашем вопросе кажется, что вы хотите отобразить сообщение, если не все текстовые поля пусты (то есть некоторые из них действительно содержат некоторый текст).
Ну, обычно нужно перестать зацикливаться после первой ошибки, так как в противном случае было бы очень раздражающе отвечать на многие сообщения, прежде чем исправить первую проблему. Кроме того, это хорошая идея, чтобы сосредоточить внимание на (первом) элементе управления, который не является действительным.
Таким образом, в вашем коде я бы добавил c.Focus(); break;
после отображения сообщения пользователю.
Marc-IT
все текстовые поля должны быть проверены, это только для того, чтобы предотвратить сбой приложения.
если в одном текстовом поле нет никакой информации, приложение выходит из строя из-за Формулы.
некоторые из них скрыты и видны только в том случае, если пользователь выбирает определенные параметры в первой форме.
Простая версия заключается в том, что все текстовые поля должны быть проверены.
Marc-IT
это странно, я думаю, что код в порядке, но по какой-то причине он не загружается.
приложение работает, но это условие не применяется