How do I validate that a listbox is not empty in C# winforms using an errorProvider
-
08-03-2021 - |
Вопрос
I have an errorProvider control. I would like to use it to validate if a listbox contains at least an element.
Here's my code to register the validating event:
this.selectedFieldsArea.Validating +=new CancelEventHandler(selectedFieldsArea_Validating);
And here is my validating function:
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, "");
}
Although I registered the method it is never called. Have I forgotten to do something?
Решение
In order for the _validating event to be fired, the Validate() or ValidateChildren() method has to be called. I added this in my button_Click() event and it now works.
Не связан с StackOverflow