"Если поле не может быть проверено, у меня есть оно, очищающее поле и помечающее его красным. Я также хотел бы, чтобы оно всплыло во всплывающей подсказке, сообщающей, что значение недопустимо."
Отописание поведения, которое вы хотите, звучит так, как будто бы вам лучше использовать компонент ErrorProvider
, а не всплывающую подсказку.Компонент ErrorProvider
автоматически поместит указанный вами значок рядом с элементом управления, который не прошел проверку, и отобразит подсказку для пользователя, описывающую ошибку проверки и / или шаги, которые необходимо предпринять для ее исправления:
В C # Corner имеется образец, но его очень просто реализовать.Просто добавьте компонент ErrorProvider
в форму (он доступен по умолчанию на панели инструментов), а затем в методе проверки введите следующий код:
private void ValidateName()
{
if (string.IsNullOrEmpty(NameTextBox.Text))
{
//Validation failed, so set an appropriate error message
errorProvider.SetError(NameTextBox, "You must enter your name");
}
else
{
//Clear previous error message
errorProvider.SetError(NameTextBox, string.Empty);
}
}