vida shown net formulario form evento event despues ciclo .net winforms constructor initialization onload-event

.net - shown - vb net form lifecycle events



Winforms Form Constructor vs Load event (3)

Básicamente, usted quiere que su constructor sea lo más ligero posible. Intento poner la mayoría de las cosas en el controlador de eventos Load a medida que los elementos de la interfaz de usuario se han creado y se pueden usar en este momento. Sin embargo, suelo crear instancias de objetos de clase, etc. en el constructor, ya que en realidad es parte de la construcción del objeto. A veces no puedes poner las cosas en un lugar u otro, pero para cuando puedas, debes ponerlas donde te parezca más apropiado.

Cuando se carga un formulario, el código necesita hacer cosas como configurar grillas de datos, cuadros combinados, establecer el título, etc. He tendido a usar siempre el evento de carga en lugar del nuevo (constructor). ¿Hay alguna guía para cuál es mejor para qué actividades?


Tenga en cuenta que cualquier cosa en el constructor de un formulario se creará / ejecutará en esa creación de formularios. yo como:

Form frm = new Form ();

Mientras que cualquier cosa en el evento Load ocurrirá solo cuando se muestre el formulario, es decir, frm.Show ();


Una llamada a InitializeComponent se inserta automáticamente en el constructor de su formulario / página. InitializeComponent es el método autogenerado que

  • crea los diversos elementos de la interfaz de usuario en su página winform / XAML
  • Inicializa sus propiedades con los valores almacenados en el archivo de recursos

Entonces, todo lo relacionado con la disposición / modificaciones de UI debe ir después de esta llamada. Cuando haces esto en una modificación de Form.OnLoad, tienes la seguridad de que la interfaz de usuario está lista para funcionar (se ha llamado a InitializeComponent) ... así que votaría por adherirme a OnLoad para la interfaz de usuario.
Al crear miembros que no sean UI, el constructor sería el lugar que primero miraría.