Вопрос

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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top