Übersichtliche Programmierung einer GUI

Hallo,

ich erstelle zur Zeit eine GUI (enthält mehrere Tabs (Reiter)) mit dem Visual Studio und C#. Alle Methoden sind nun innerhalb der Klasse ‚Form‘ definiert. So wird der Quellcode leicht unübersichtlich. Ist es nun sinnvoll für jeden einzelnen Tab eine eigene Klasse zu definieren? Wie verhält sich dann der Assistent wenn man neue Komponenten auf diesen Tab hinzufügt?

Ziel ist es, eine GUI objektorientiert und damit auch übersichtlich zu entwickeln. Und genau das ist zur Zeit nicht der Fall. Wenn mir jemand diesbezüglich Literaturhinweise oder Links nennen kann, bin ich dafür dankbar.

Schönen Gruß
Snoopy

Hallo

Ich würde den Code welches der Designer für Dich generiert, auf der Form lassen. Alles andere würde ich aber in andere Klassen auslagern.

Beispiel:

public void cmdSave\_Click(object sender, EventArgs e)
{
 myControlClass.SaveCustomer(txtName.Text, txtVorname.Text);
}

Somit hast Du die Logik die den Customer speichert nicht in der Form implementiert, sondern in einer Separaten Klasse.
Wenn Du das so machst, hast Du noch den Vorteil dass Du die SaveMethode z.b. mit einem Unit Test Program (z.b. NUnit) testen kannst (sofern sich die Methode in einer DLL Assembly befindet).

Oft nützt es auch, Code welches direkt Controls betreffen, direkt beim Control zu implementieren. Angenommen eine TextBox, soll sich so verhalten, dass alle Buchstaben beim eintippen gross geschrieben werden müssen.
Ich würde diese Logik nicht im Form programmieren, sondern die TextBox vererben und dies dann in der Vererbten TextBox implementieren.

Alles unklar?

Gruss
Giuseppe

nachtrag (ein wenig offtopic)
.net 2.0 unterstützt Partial Classes.
d.h. der Code einer Klasse kann in mehreren Files enthalten sein.

Visual Studio macht sich das zu nutzen und schreibt den Designer Code in ein Separates File.

Gruss