Differenza tra ISupportInitialize (BeginInit / EndInit) e SuspendLayout / ResumeLayout
-
22-08-2019 - |
Domanda
Potrebbe qualcuno si prega di spiegare quale sia la differenza tra l'utilizzo di metodi di interfaccia ISupportInitialize (BeginInit / EndInit) e utilizzando SuspendLayout / ResumeLayout?
È ISupportInitialize SOLO usato durante la costruzione / inizializzazione "iniziale" ... o può essere utilizzato in seguito quando si desidera aggiungere nuovi controlli figlio di un controllo padre esistente?
Le differenze particolari?
apprezzo molto il vostro aiuto!
Grazie,
Pato
Soluzione
L'interfaccia ISupportInitialize vive nel System.dll ed è solo un concetto abbastanza generico nel regno dei componenti. Tra l'altro, molte parti del System.Windows.Forms sono componenti, e anche Windows.Forms è l'utente principale della roba ComponentModel.
Sospendi / ResumeLayout è una cosa pura Windows.Forms e davvero dire un controllo di non cercare di fare la grafica mentre si è ad esempio l'aggiunta di controlli figlio o modificare le proprietà.
Altri suggerimenti
codice utilizzato corretta in VB.Net per questo, la maggior parte dei decompilatori ottenere questo torto.
CType(Me.pictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()