У меня есть текстовое поле, которое не допускает нулевые значения. Поэтому я обработал событие Validating для textbox. Мой код
private void nullNotAllowed(object sender, System.ComponentModel.CancelEventArgs e)
{
TextBox txtMain = (TextBox)sender;
if (txtMain.Text == "")
{
errorProvider1.SetError(txtMain, "error");
e.Cancel = true;
}
else
{
errorProvider1.SetError(txtMain, String.Empty);
e.Cancel = false;
}
}
теперь, когда мое текстовое поле имеет нулевое значение и я нажимаю клавишу табуляции, всплывающее окно errorprovider всплывает и работает нормально, и даже фокус не теряется. но теперь, когда я исправляю свои значения и нажимаю клавишу табуляции, на этот раз фокус теряется, но провайдер ошибок все еще остается там.
Помните, мое текстовое поле находится на панели, а панель - на вкладке Control, а tabcontrol - в форме.