|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2000
Messaggi: 501
|
[C#] Ottimizzare/Velocizzare la disposizione dei componenti
Sto sviluppando un software con C# per la gestione di un Crono Calendario.
Il SW estrae da un DB (in MySQL) delle prenotazioni/impegni e li visualizza su una griglia dove le colonne sono i giorni del mese e le righe sono gli impegni. Su ogni pagina visualizza 2 mesi alla volta. Probabilmente non ho scelto l'implementazione migliore, ma li x li sembrava essere una soluzione rapida. Allora, l'approccio seguito è questo, creo dinamicamente: - Array di Label (per i giorni del mese), - Array di comboBox (per gli impegni), - Array di Label (per l'intersezione giorno/impegno). Ogni label poi ha un colore scelto secondo certi criteri. Ho inserito i tasti di navigazione per andare avanti o indietro nella visualizzazione del mese di interesse. Il problema è che ora la visualizzazione è molto lenta, ci vuole un pò di tempo prima che le due griglie vengano visualizzate e che gli impegni vengano collocati. A quanto pare tutti questi componenti appesantiscono il sistema, avete qualche suggerimento per ottimizzare questo approccio? oppure approcci alternativi?
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Forse qualcosa in termini di velocità lo puoi guadagnare rendendo invisibili i controlli in fase di posizionamento e/o ridimensionamento. Il continuo refresh dell'interfaccia grafica ad ogni elemento inserito si mangia sempre un po' di tempo. In alternativa, puoi provare i metodi SuspendLayout e ResumeLayout per interrompere la logica di Layout della Form ( o del container interessato ), durante la creazione degli oggetti... :
Codice:
this.SuspendLayout();
// ...
// ...
this.ResumeLayout();
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:04.


















