Laden...

Controls während der Laufzeit auf den Startzustand zurücksetzen

Erstellt von am77 vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.189 Views
A
am77 Themenstarter:in
1 Beiträge seit 2013
vor 10 Jahren
Controls während der Laufzeit auf den Startzustand zurücksetzen

Hallo,

ich habe eine Anwendung mit u.a 5 Tabpages mit allerlei Ceckboxen, Comboboxen und Textboxen. Wenn ich die Anwendung starte, werden alle Elemente so initialisiert, wie in der InitializeComponent() angeben. D.h. Textfelder sind leer, Checkboxen unchecked etc..
Während der Arbeit mit dem Programm möchte ich alle Komponenten nach Bearbeitung wieder in diesen "Default" Zustand bringen. Als Versuch habe ich probiert die InitializeComponent() Methode aufzurufen, was leider nicht funktioniert.

Gibt es einen Weg alle Komponenten wieder zurückzusetzen, oder muss ich die Form schließen und neu laden/ initilalisieren?

Vielen Dank!

4.221 Beiträge seit 2005
vor 10 Jahren

Wenn Du den Code in InitializeComponent genau anschaust, dann wirst Du sehen, dass darin auch die ganzen Objekte erstellt werden.

Du hast somit zwei Möglichkeiten:

  1. alles per Code initialisieren (dann aber aufpassen, dass Anpassungen im Designer dann synchron sind mit deinem Code)

  2. Wegschmeissen und neue Instanz erstellen.

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo am77,

ich bin froh, dass dein Versuch mit InitializeComponent nicht funktioniert hat, weil die Komponenten von dieser Methode nicht nur initialisiert, sondern nochmal neu erzeugt werden, so dass man am Ende zwei Sätze von Controls hätte. Das ist also der falsche Ansatz.

Normalerweise gibt es ja nicht soviele Eigenschaften von Controls, die sich zur Laufzeit ändern, oft sind das nur die Text- bzw. Items-Eigenschaften. Da hat man schnell eine eigene Methode geschrieben, die diese auf Startwerte setzen.

Wenn du DataBinding verwendest, reicht es sogar, die gebundenen Daten auf Startwerte zu setzen.

herbivore