Проверка в разных вкладках формы Windows с использованием ErrorProviders
Я работаю с приложением Windows Forms и пытаюсь проверить несколько текстовых полей с помощью провайдеров ошибок, но проблема заключается в том, что, когда я нажимаю кнопку, присутствующую на вкладке 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,"");
}
1 ответ
Сценарий, который приведен в моем вопросе, может быть обработан с помощью приведенного ниже кода. Мы можем использовать ValidationConstraint как Visible, и это обеспечит проверку на текущих видимых элементах управления.
private void btnCreateUser_Click(object sender, EventArgs e)
{
if (this.ValidateChildren(ValidationConstraints.Visible))
{
// Some Code here
}
}