Question

Est-il possible d’énumérer toutes les erreurs actuelles affichées par le biais d'un " Fournisseur d’erreurs " " sans avoir à accéder aux contrôles?

Était-ce utile?

La solution

Il existe un validateur de résumé qui vous indiquera toutes les erreurs, mais c’est plutôt moche, et je ne suis pas sûr que vous puissiez l’utiliser sans l’afficher sur la page. Techniquement, si vous faites les choses "dans le bon sens", tous vos problèmes de traitement des erreurs doivent être traités de manière claire, puis affichés à l'écran de cette façon, de sorte que vous ayez déjà accès à toutes les erreurs d'une collection ou d'un dictionnaire.

Autres conseils

Vous pouvez obtenir toutes les erreurs d'un ErrorProvider en énumérant la collection Controls de son parent et en appelant GetError sur chacune d'elles. Pas efficace mais ça marche.

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

Pour les personnes .net WinForms qui le trouvent dans Google etc ...

Dans WinForms, énumérez au moins toutes les erreurs actuelles affichées par le biais d'un " Fournisseur d’erreurs " " classe sans accéder à tous les contrôles n’est pas possible, il n’existe même pas de validateur de résumé dans WinForms.

Toutefois, si vos erreurs remontent à un niveau inférieur, vous devriez de toute façon avoir accès à une collection de ces erreurs quelque part, comme le souligne l’affiche Charles Graham.

Dans WinForms, si votre application est assez simple pour ne pas avoir de "couches" bien définies, vous pourriez alors envelopper le ErrorProvider dans une classe qui enregistre et expose toutes les erreurs en cours. Ou, si l'application est vraiment très simple, créez une méthode d'assistance qui enregistre / supprime une erreur et met à jour le ErrorProvider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top