2009-02-16 11 views
8

Provenendo da molti anni di sviluppo di asp.net su un'applicazione winforms.Stile di Winform/Suggerimenti per l'aspetto e l'interfaccia utente

In cerca di consigli e suggerimenti su come "modellare" le winform in modo simile a come farei con le pagine CSS/Master in asp.net.

Sono interessato a come aggiornare font/colori per determinati tipi di controlli in un unico punto. Come mantenere la coerenza per i layout.

Qualsiasi riferimento/articolo è apprezzato.

FYI ... WPF non è un'opzione per questo progetto.

risposta

4

È possibile creare versioni personalizzate dei diversi controlli standard necessari, ereditando dalle versioni originali ma applicando stili personalizzati alle versioni personalizzate. Questo ti darebbe un posto unico per cambiare lo stile di un tipo di componente. Si potrebbe anche avere ciascuno dei controlli prendere un oggetto di stile come parametro per gli stili di sistema.

3

A meno che non si sta creando una sorta di applicazione chiosco walk-up Vorrei consigliare contro guai con il look-and-feel dei controlli comuni di Windows nell'applicazione.

Per un'applicazione desktop la coerenza con altre applicazioni Windows è solitamente considerata più importante di qualsiasi progetto.

+0

Il look and feel con finestre simili. Ma ci sono molti posti in cui le impostazioni devono essere applicate in modo coerente. Un esempio che viene in mente sono le griglie. Tutti devono avere 4-6 impostazioni applicate in modo coerente come i colori delle righe alternate. –

+1

Forms e UserControls in WinForms supportano l'ereditarietà, quindi dovresti essere in grado di creare classi di form di base in cui hai impostato queste cose. Questo aiuta? –

3

I controlli personalizzati sono il modo tipico per raggiungere questo obiettivo. Se si dispone di un controllo etichetta che si desidera utilizzare più e più volte, ereditarlo e impostare le proprie proprietà.

Mentre potrebbe sembrare un po 'noioso, è davvero il modo migliore per farlo con WinForms. WinForms non è stato progettato per questo, come lo era WPF.

Spero che questo aiuti!