2011-11-21 9 views
11

Impossibile trovare alcuna informazione al riguardo. I miei controlli stanno diventando estremamente lenti e ho notato che non sto chiamando SuspendLayout quando faccio aggiornamenti importanti.Devo chiamare SuspendLayout per ogni controllo figlio?

Ciò di cui sono in dubbio è, poiché il controllo di livello superiore contiene controlli che contengono altri controlli e così via, chiamerà SuspendLayout sul mio controllo superiore anche sospendere il layout per ogni controllo annidato o devo chiamarlo per ogni di loro?

+0

Direi che non è questo il problema. È questo quando stai caricando un modulo o solo in generale? E questi controlli personalizzati che hai creato? –

+0

@BrandonMoore: Sì, questi sono controlli personalizzati e sto cercando di trovare altri problemi, ma se conosci la risposta alla mia domanda per favore fammelo sapere dato che volevo sapere questo prima comunque, e anche così posso scartare questa opzione . – Juan

risposta

13

Dai un'occhiata a questo articolo MSDN - Practical Tips For Boosting The Performance Of Windows Forms Apps.

testo da un articolo: Ricordate che SuspendLayout impedisce solo layout eventi dal corso di esecuzione per quel particolare controllo. Se i comandi vengono aggiunti a un pannello, ad esempio, SuspendLayout e ResumeLayout devono essere chiamati per il pannello e non per il modulo padre.

+0

Perfetto, grazie. – Juan

Problemi correlati