Was ist eine richtige Methode zum Erstellen von Winform-Apps mit mehreren "Bildschirmen"?

11

Wie kann eine Winform-App mit mehreren Bildschirmen erstellt werden? Zum Beispiel versuche ich, ein kleines Sicherungsprogramm zu schreiben (hauptsächlich für Kichern), und ich habe Steuerelemente und Container auf das Formular geschrieben.

Ich verwende Bedienfelder und Gruppenfelder, um die verschiedenen Bildschirme voneinander zu trennen (z. B.: Ich verwende ein Bedienfeld, in dem alle Steuerelemente für das Fenster "Einstellungen" gespeichert sind, und ein anderes Bedienfeld, in dem alle aktuell eingerichteten Sicherungen angezeigt werden ). Nun, meine form.cs-Datei hat sich zu einer riesigen Menge Code entwickelt, und ich habe das Gefühl, dass ich etwas falsch mache. Ich kann kaum etwas in der Datei finden und bin bereit, von vorne zu beginnen. Dieses Projekt war nur für mich gedacht, um meine Kenntnisse in C # und .NET zu erweitern. Das Starten eines neuen Projekts ist also keine große Sache.

CurtisHx
quelle

Antworten:

10

Es gibt verschiedene Möglichkeiten, die Komplexität der Benutzeroberfläche zu steuern.

  • Wenn Sie viele Formulare haben, können Sie ein Entwurfsmuster auswählen, das Übergänge verwaltet: Anwendungscontroller zum Beispiel oder näher am Metall: Status .
  • Sie können Gruppen von Steuerelementen zu einzelnen Steuerelementen zusammensetzen. In Winforms verwenden Sie Benutzersteuerelemente .
  • Wenn die Komplexität von der Menge des Codes in Ihrem Formular abhängt, im Gegensatz zur Menge der Steuerelemente im Formular, können Sie Code einfach besser mit objektorientierten Standardprogrammiertechniken in Objekte einkapseln. Das Verständnis der SOLID- Prinzipien ist ein guter Anfang.
  • Ansonsten gibt es Muster für die Arbeit mit Benutzeroberflächen. Unter anderem (Trennung von Anliegen im Vordergrund) erleichtern sie die Organisation von Code. Einige gebräuchliche sind MVC , MVP , MVVM

Aus Ihrer Beschreibung würde ich benutzerdefinierte Benutzersteuerelemente verwenden, um das zu ersetzen, was Sie derzeit verwenden. Platzieren Sie dann einfach diese Benutzersteuerelemente auf Ihren Formularen, auf denen sich Ihre Bedienfelder befanden.

Steven Evers
quelle
4

In Winforms sollte jedes Formular seinen eigenen Job erledigen. Sie sollten ein Formular für Einstellungen haben, ein anderes, um die aktuellen Sicherungen anzuzeigen usw.

Wenn Sie sich an mehrere Gruppen mit einem Formular halten möchten, können Sie , wie SnOrfus sagte, Benutzersteuerelemente erstellen , um den Code zu trennen. Wenn Sie in einigen Klassen immer noch eine Menge Code haben, können Sie Teilklassen verwenden , um unterschiedlichen Code in verschiedene Dateien zu unterteilen.

Teilunterricht scheint eine gute Alternative zu sein, aber ich empfehle Ihnen das nur, weil Sie ein Hobbyprojekt aufbauen. Für ein größeres oder komplexeres Projekt sollten Sie Muster verwenden, um die richtige Arbeit an die richtigen Objekte zu delegieren. Sie können auch zu einer neuen Technologie wie WPF wechseln, bei der Muster wie MVVM einfacher zu verwenden sind .

Valter Costa
quelle