我正在使用Windows窗体应用程序,并尝试使用errorproviders验证几个文本框,但问题是当我点击选项卡1中的按钮时,所有文本框甚至出现在不同的选项卡上都会得到验证。我希望验证发生在当前选项卡上的文本框中,而不是任何其他选项卡上的任何控件上。我怎样才能做到这一点?请帮忙。以下是与点击事件中的验证相关的代码。
private void btnCreateUser_Click(object sender, EventArgs e)
{
if (this.ValidateChildren(ValidationConstraints.Enabled))
{
// Some Code here
}
}
以下是用于验证和验证一个文本框事件的代码。我正在其他文本框中使用类似的代码以及其他选项卡上的代码。
private void txtFirstNm_Validating(object sender, CancelEventArgs e)
{
bool cancel = false;
if (txtFirstNm.Text.Trim().Length == 0)
{
cancel = true;
errorProvider1.SetError(txtFirstNm,"Please enter First Name");
}
else
{
cancel = false;
errorProvider1.SetError(txtFirstNm, "");
}
e.Cancel = cancel;
}
private void txtFirstNm_Validated(object sender, EventArgs e)
{
errorProvider1.SetError(txtFirstNm,"");
}
答案 0 :(得分:0)
我的问题中给出的场景可以使用下面的代码来处理。我们可以将ValidationConstraint用作Visible,这将确保在Current visible Controls上进行验证。
private void btnCreateUser_Click(object sender, EventArgs e)
{
if (this.ValidateChildren(ValidationConstraints.Visible))
{
// Some Code here
}
}