Quelle est la bonne façon de créer des applications Winform avec plusieurs «écrans»

11

Quelle est la bonne façon de créer une application Winform qui a plusieurs «écrans»? Par exemple, j'essaie d'écrire un petit programme de sauvegarde (principalement pour les rires), et j'ai vidé les contrôles et les conteneurs sur le formulaire.

J'utilise des panneaux et des zones de groupe pour séparer les différents écrans (par exemple: j'utilise un panneau pour contenir tous les contrôles de la fenêtre "Paramètres" et un autre panneau pour afficher toutes les sauvegardes en cours qui ont été configurées. ). Eh bien, mon fichier form.cs a gonflé dans une énorme quantité de code, et j'ai l'impression de faire quelque chose de mal. Je ne trouve presque rien dans le fichier et je suis prêt à recommencer. Ce projet était juste pour moi d'élargir mes connaissances de C # et .NET, donc démarrer un nouveau projet n'est pas une grosse affaire.

CurtisHx
la source

Réponses:

10

Il existe plusieurs façons de contrôler la complexité de l'interface utilisateur.

  • Si vous avez beaucoup de formes, vous pouvez choisir un modèle de conception qui gère les transitions: Application Controller par exemple, ou plus proche du métal: State .
  • Vous pouvez composer des groupes de contrôles en contrôles uniques. Dans winforms, vous utilisez les contrôles utilisateur .
  • Si la complexité vient de la quantité de code dans votre formulaire, par opposition à la quantité de contrôles sur le formulaire, vous pouvez simplement mieux encapsuler le code dans des objets en utilisant des techniques de programmation orientées objet standard. Comprendre les principes SOLID est un bon point de départ.
  • Sinon, il existe des modèles pour travailler avec les interfaces utilisateur. Entre autres (la séparation des préoccupations étant prépondérante), elles facilitent l'organisation du code. Certains courants sont MVC , MVP , MVVM

D'après votre description, j'utiliserais des contrôles utilisateur personnalisés pour remplacer ce que vous utilisez pour le moment. Ensuite, placez simplement ces contrôles utilisateur sur vos formulaires où se trouvaient vos panneaux.

Steven Evers
la source
4

Dans Winforms, chaque formulaire doit gérer son propre travail. Vous devriez avoir un formulaire pour les paramètres, un autre pour montrer les sauvegardes actuelles, etc.

Si vous voulez vous en tenir aux groupes multiples à formulaire unique, vous pouvez créer des contrôles utilisateur , comme l' a dit SnOrfus , pour séparer le code. Si vous vous retrouvez toujours avec une tonne de code sur certaines classes, vous pouvez avoir des classes partielles pour séparer différents codes dans différents fichiers.

Les cours partiels peuvent sembler une bonne alternative, mais je ne vous le recommande que parce que vous construisez un projet de loisir. Pour un projet plus grand ou plus complexe, vous devez utiliser des modèles pour déléguer le bon travail aux bons objets, vous pouvez également passer à une nouvelle technologie comme WPF où il est plus facile d'utiliser des modèles comme MVVM .

Valter Costa
la source