Проверка в форме Windows с использованием С# в.net

122
10

Я делаю свой проект в VS2012 Windows Forms, используя С#.

Мое сомнение заключается в том, что я проверяю текстовое поле, когда управление теряет фокус; проверьте, что он пуст или нет. Мое имя текстового ChildFirstName - имя ChildFirstName а мой код:

private void ChildFirstName_Leave(object sender,EventArgs e)
{
if (ChildFirstName.Text == String.Empty)
{
ChildFirstName.Focus();
ChildFirstName.ForeColor = Color.Red;
}
}

Но это не работает. Кто-нибудь может сказать, в чем проблема?

спросил(а) 2021-01-19T21:06:46+03:00 2 месяца, 3 недели назад
1
Решение
62

В коде, который вы написали, есть недостаток. ForeColor используется для определения цвета текста, а не цвета фона. Поэтому в вашем коде вы делаете чек, если нет текста, а затем меняйте цвет текста на красный. Это не имеет большого значения для меня.

Если вы хотите изменить цвет фона в текстовом поле, используйте свойство BackColor.

    private void ValidateTextBox(object sender)
{
TextBox textBox = (sender as TextBox);
if (textBox == null)
return;

if (string.IsNullOrEmpty(textBox.Text))
{
textBox.Focus();
textBox.BackColor = Color.Red;
}
}

Вызовите метод выше в вашем случае для отправки текстовых полей.

Надеюсь, поможет.

ответил(а) 2021-01-19T21:06:46+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема