Qual è un modo corretto di creare app Winform con più "schermate"

11

Qual è un modo corretto di creare un'app Winform con più "schermate"? Ad esempio, sto cercando di scrivere un piccolo programma di backup (principalmente per giggles) e ho scaricato i controlli e i contenitori sul modulo.

Sto usando pannelli e caselle di gruppo per separare le diverse schermate (ad esempio: sto usando un pannello per contenere tutti i controlli per la finestra "Impostazioni" e un altro pannello per mostrare tutti i backup correnti che hanno stato istituito). Bene, il mio file form.cs si è gonfiato in una quantità enorme di codice e ho l'impressione che stia facendo qualcosa di sbagliato. Riesco a malapena a trovare qualcosa nel file e sono pronto per ricominciare. Questo progetto è stato solo per me per espandere la mia conoscenza di C # e .NET, quindi avviare un nuovo progetto non è un grosso problema.

    
posta CurtisHx 05.11.2012 - 21:19
fonte

2 risposte

10

Esistono diversi modi per controllare la complessità dell'interfaccia utente.

  • Se disponi di molti moduli, puoi scegliere un modello di progettazione che gestisca le transizioni: ad esempio Controller applicazione o più vicino al metallo: Stato .
  • Puoi comporre gruppi di controlli in controlli singoli. In winforms, usi Controlli utente .
  • Se la complessità deriva dalla quantità di codice nel modulo, diversamente dalla quantità di controlli nel modulo, è possibile semplicemente incapsulare il codice in oggetti utilizzando le tecniche di programmazione standard orientate agli oggetti. Comprendere i principi SOLID è un buon punto di partenza.
  • Altrimenti, ci sono schemi per lavorare con le interfacce utente. Tra le altre cose (la separazione delle preoccupazioni è prominente), facilitano l'organizzazione del codice. Alcuni comuni sono MVC , MVP , MVVM

Dalla tua descrizione, utilizzerei i controlli utente personalizzati per sostituire quello che stai usando per ora. Quindi posiziona i controlli utente sui moduli in cui si trovavano i pannelli.

    
risposta data 05.11.2012 - 21:50
fonte
3

In Winform ogni modulo dovrebbe gestire il proprio lavoro. Dovresti avere un modulo per le impostazioni, un altro per mostrare i backup correnti, ecc.

Se vuoi mantenere i gruppi multipli a modulo singolo, puoi creare Controlli utente , come indicato da SnOrfus , per separare il codice. Se tieni ancora un sacco di codice su alcune classi, puoi avere Classi parziali per separare codice diverso in file diversi.

Le classi parziali possono sembrare una buona alternativa, ma te lo raccomando solo perché costruisci un progetto per hobby. Per un progetto più grande o più complesso dovresti usare i pattern per delegare il lavoro giusto agli oggetti giusti, puoi anche passare a una nuova tecnologia come WPF dove è più facile utilizzare modelli come MVVM .

    
risposta data 05.11.2012 - 23:44
fonte

Leggi altre domande sui tag