Pregunta

¿Es posible enumerar todos los errores actuales que se muestran a través de un " Proveedor de errores " sin tener que acceder a los controles?

¿Fue útil?

Solución

Hay un validador de resumen que le dará todos los errores, pero es bastante feo, y no estoy seguro de si puede usarlo sin mostrarlo en la página. Técnicamente, si está haciendo las cosas de la forma correcta, todo el manejo de errores debe manejarse en su medio y luego aparecer en la pantalla de esa manera, de modo que ya tenga acceso a todos los errores en una colección o diccionario.

Otros consejos

Puede obtener todos los errores de un ErrorProvider enumerando la colección Controls de su padre y llamando a GetError en cada uno. No es eficiente pero funciona.

foreach (Control ctrl in errProv.ContainerControl.Controls)
{
    Console.WriteLine(errProv.GetError(ctrl));
}

Para cualquier persona .net WinForms que encuentre esto en google, etc ...

En WinForms al menos enumerar todos los errores actuales que se muestran a través de un " Proveedor de errores " La clase sin acceder a todos los controles no es posible, ni siquiera hay un validador de resumen en WinForms.

Sin embargo, si sus errores están surgiendo de una capa inferior, entonces debería tener acceso a una colección de ellos en cualquier lugar, como señala el póster Charles Graham.

En WinForms, si su aplicación es lo suficientemente simple como para no tener "capas" bien definidas entonces podría ajustar el ErrorProvider en una clase que registra y expone todos los errores actuales. O, si la aplicación es realmente muy simple, cree un método auxiliar que registre / elimine un error y actualice ErrorProvider.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top