Frage

Ist es möglich, alle aktuellen Fehler aufzuzählen, durch einen „Fehler Provider“ angezeigt werden, ohne dass die Kontrollen zugreifen zu müssen?

War es hilfreich?

Lösung

Es ist eine Zusammenfassung Validierer, die Sie alle Fehler geben, aber es ist ziemlich hässlich, und ich bin nicht sicher, ob Sie es ohne Anzeige auf der Seite verwenden können. Technisch gesehen, wenn Sie Dinge zu tun, den „richtigen Weg“, Sie alle Fehlerbehandlung in Ihrem midddle teir behandelt werden soll und sprudelte dann auf den Bildschirm auf diese Weise, so haben Sie bereits Zugriff auf alle Fehler in einer Sammlung oder Wörterbuch.

Andere Tipps

Sie können alle Fehler von einem Errorprovider erhalten, indem Sie die Controls-Auflistung der übergeordneten Aufzählen und GetError auf jedem Aufruf. Nicht effizient, aber es funktioniert.

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

Für alle .net WinForms Menschen, die dies in google etc. finden ...

In WinForms mindestens Aufzählen all aktuellen Fehler durch eine „Error Provider“ Klasse angezeigt werden, ohne dass alle Steuerelemente Zugriff ist nicht möglich, da in WinForms nicht einmal eine Zusammenfassung Validator ist.

Allerdings, wenn Ihr Fehler sprudelt aus einer unteren Schicht nach oben, dann sollten Sie Zugriff auf eine Sammlung von ihnen irgendwo sowieso haben, wie das Plakat Charles Graham weist darauf hin.

In WinForms, wenn Ihre Anwendung ist einfach genug, um keine zu haben, gut definierte „Schichten“, dann könnten Sie die Errorprovider in einer Klasse, die Datensätze wickeln und setzt alle aktuellen Fehler. Oder, wenn die App wirklich wirklich einfach ist, erstellen Sie eine Hilfsmethode, die aufzeichnet / einen Fehler löscht und aktualisiert die Errorprovider.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top