Как выводить tooltip при вводе запрещенных символов?
private void emailBox_KeyPress(object sender, KeyPressEventArgs e)
{
if(!Char.IsLetter(e.KeyChar) && e.KeyChar != 8 && !Char.IsDigit(e.KeyChar) == true)
{
e.Handled = true;
return;
}
else if (e.KeyChar < 33 && e.KeyChar > 47) // При вводе допустим этих символов tooltip не вылазит
{
toolTip1.IsBalloon = true;
toolTip1.Show("Забыли ввести", this.emailBox, 1000);
}
}
В этом куске кода пытался сделать аналогичный hint, но он не выводится.
else if (e.KeyChar < 33 && e.KeyChar > 47) // При вводе допустим этих символов tooltip не вылазит
{
toolTip1.IsBalloon = true;
toolTip1.Show("Ввод запрещенных символов", emailBox);
}
Вот пример hint'a который хочу реализовать
Ответы (1 шт):
Автор решения: Soondar
→ Ссылка
Вот как решил этот вопрос
private void emailBox_Validating(object sender, CancelEventArgs e)
{
string pattern = @"^(?("")(""[^""]+?""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" +
@"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9]{2,17}))$";
if (Regex.IsMatch(emailBox.Text, pattern, RegexOptions.IgnoreCase))
{
incorrinput.Clear(); // incorrinput - это компонент errorprovider
email = true; // Это собственная проверка на переход в другую форму
}
else
{
incorrinput.SetError(emailBox, "Data was entered incorrectly or invalid characters were used");
email = false; // Это собственная проверка на переход в другую форму
}
}