我有一个不允许空值的文本框。因此,我处理了textbox.My代码的验证事件
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;
}
}现在,当我的文本框有空值时,我按tab键,errorprovider弹出,并且工作正常,甚至焦点也没有丢失。但是现在,当我更正值并按Tab键时,焦点丢失了,但错误提供程序仍然只保留在那里。
请记住,我的文本框在面板中,面板在tabControl中,选项卡控件在表单中。
发布于 2011-08-26 16:07:11
应清除验证事件处理程序中的错误。
看这里(MSDN)的例子和笔记,有一个关于焦点的特殊警告……
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.validating.aspx
https://stackoverflow.com/questions/7195766
复制相似问题