C#: есть ли способ заставить всплывающую подсказку показывать?
Я хотел вызвать всплывающую подсказку. Например, у меня есть метод, который проверяет поле. Если поле не может быть проверено, я очищаю поле и отмечаю его красным. Я также хотел бы, чтобы всплывающая подсказка над окном говорила, что значение недопустимо. в любом случае, чтобы сделать это и, возможно, контролировать, как долго показывает подсказка? Я не вижу никакого свойства всплывающей подсказки в intellisense
РЕДАКТИРОВАТЬ: я вижу это сейчас. Но как заставить его всплыть самостоятельно против наведения мыши?
4 ответа
"Если поле не может быть проверено, мне нужно очистить поле и пометить его красным. Я также хотел бы, чтобы оно всплыло во всплывающей подсказке, сообщающей, что значение недопустимо".
Из описания поведения, которое вы хотите, звучит так, что вас лучше всего обслужат 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);
}
}
Попробуй это:
В принципе,
private void button1_Click(object sender, EventArgs e)
{
ToolTip toolTip1 = new ToolTip();
toolTip1.Title = "Invalid entry"; // Title to display.
toolTip1.Show("Please enter a number.", textBox1); // Message of the toolTip and to what control to appear.
}
Но есть 5 других перегрузок для всплывающей подсказки. Вы можете увидеть это здесь.
Это приложение Winforms... если так, проверьте здесь
Если это веб-приложение ASP.NET... вы можете добавить поле с именем всплывающей подсказки