如何使用errorProvider验证C#winforms中的列表框是否为空
我有一个errorProvider控件。我想用它来验证listbox是否至少包含一个元素 以下是我注册验证事件的代码:如何使用errorProvider验证C#winforms中的列表框是否为空,c#,winforms,listbox,validating,C#,Winforms,Listbox,Validating,我有一个errorProvider控件。我想用它来验证listbox是否至少包含一个元素 以下是我注册验证事件的代码: this.selectedFieldsArea.Validating +=new CancelEventHandler(selectedFieldsArea_Validating); 下面是我的验证函数: private void selectedFieldsArea_Validating(object sender, CancelEventArgs e) { if
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, "");
}
虽然我注册了该方法,但它从未被调用。我忘记做什么了吗?为了触发“验证”事件,必须调用Validate()或ValidateChildren()方法。我在我的button\u Click()事件中添加了这个,现在它可以工作了。Oops,我刚刚发现我必须在表单上调用ValidateChildren()方法才能启动事件。还在学习。无论如何,谢谢发布示例代码会对其他人有所帮助