Pregunta

A un control de WinForms, me gustaría agregar un controlador después de que el contenedor haya inicializado el control (o incluso mejor, después de que el padre haya inicializado todos los controles contenidos).

Motivo: el control personalizado tiene una opción para activar una acción automáticamente. También debería activarse cuando esta opción se habilita por primera vez.

Sin embargo, en este punto, otras propiedades (como los controladores de eventos) aún no están conectadas correctamente y, por lo tanto, el efecto no es el esperado.

¿Es esto posible?

[editar]

Entiendo que esto suena "un poco inusual", por lo que quiero aclarar:

Está destinado a este componente : aproximadamente, agregando una opción a " crea automáticamente nuevo documento " ;.

Puedo crear la propia DocumentInfo durante la inicialización, o cuando la propiedad se asigna durante la inicialización. Sin embargo, en este punto también debería activar el evento para decirle (generalmente el formulario principal) que necesita actualizar la interfaz de usuario. Es posible que el evento aún no se haya conectado o que otros controles aún no estén inicializados, por eso me gustaría retrasar el evento hasta que el formulario principal esté completamente inicializado.

¿Fue útil?

Solución

Lo único que sé de eso sería hacer esto, directamente desde el control, sería anular OnVisibleChanged y manejar su acción la primera vez que se muestra el control.

Sin embargo, repensaría la necesidad de esto. Esto hará que su control se comporte de manera diferente a los controles de formularios Windows Forms estándar. Intentar conectar su comportamiento a un evento que no es estándar me parece una pesadilla de mantenimiento y usabilidad ...

Otros consejos

¿Ha intentado conectar el evento Load del formulario y hacer el trabajo allí? (tenga en cuenta que esto se activa cada vez que muestra el formulario ...)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top