0

我有一个 errorProvider 控件。我想用它来验证列表框是否至少包含一个元素。

这是我注册验证事件的代码:

this.selectedFieldsArea.Validating +=new CancelEventHandler(selectedFieldsArea_Validating);

这是我的验证功能:

private void selectedFieldsArea_Validating(object sender, CancelEventArgs e)
{
    if (this.selectedFieldsArea.Items.Count == 0)
    {
        errorProvider1.SetError(selectedFieldsArea, "Need to select at least 1 field");
        e.Cancel = true;
    }
    else
        errorProvider1.SetError(selectedFieldsArea, "");
}

尽管我注册了该方法,但它从未被调用。我忘记做某事了吗?

4

1 回答 1

0

为了触发 _validating 事件,必须调用 Validate() 或 ValidateChildren() 方法。我在 button_Click() 事件中添加了它,现在它可以工作了。

于 2011-11-24T16:53:19.790 回答