¿Hay alguna manera para que el formulario principal pueda interceptar eventos que se activan en un subcontrol en un control de usuario?¿Cómo capturo eventos de subcontroles en un control de usuario en una aplicación WinForms?
Tengo un control de usuario personalizado incrustado en el formulario principal de mi aplicación. El control contiene varios subcontroles que manipulan datos, que a su vez se muestran en otros controles en el formulario principal. Lo que me gustaría es si el formulario principal podría estar de alguna manera informado cuando el usuario cambie los subcontroles, por lo que podría actualizar los datos y la pantalla correspondiente en otro lugar.
En este momento, estoy haciendo trampa. Tengo un delegado conectado al evento de dejar foco de los subcontroles. Este delegado cambia una propiedad del control de usuario que no estoy utilizando en otro lugar (en este caso, CausesValidation). Luego tengo un delegado definido en el formulario principal para cuando cambia la propiedad CausesValidation del control de usuario, que luego dirige la aplicación para actualizar los datos y mostrarlos.
Surge un problema porque también tengo un delegado configurado para cuando el foco deja el control de usuario, porque necesito validar los campos en el control de usuario antes de poder permitir al usuario hacer cualquier otra cosa. Sin embargo, si el usuario solo está cambiando entre subcontroles, no quiero validar, porque es posible que no se haya terminado de editar.
Básicamente, deseo que los datos se actualicen cuando el usuario cambie de subconcesion O deje el control del usuario, pero no valide. Cuando el usuario deja el control, quiero actualizar Y validar. En este momento, dejar el control de usuario hace que la validación se active dos veces.
¿Qué hay de malo en vincular el formulario principal a los diversos eventos de los controles? Hay un montón de eventos que disparan para la mayoría de los controles winform – Sekhat
Creo que simplemente no entiendo lo que quieres lograr: P – Sekhat
Para responder la primera pregunta, a través del diseñador (que es lo que yo, siendo relativamente nuevo en C#, estaba usando para la edición de mi GUI), mi formulario solo tiene acceso a los eventos generados por el control del usuario, y no a sus subcontroles. Lo que no recuerdo es que puedo activar mis propios eventos y manejarlos. –