Título: Problema con los user control Publicado por: kaiserdj en 7 Febrero 2018, 22:22 pm Buenos días,
Soy nuevo en c# y visual studio, lo que quiero hacer es que en el form1 muestre un user control, y cuando le de a un boton dentro ese user control, haga .BringToFront(); de otro user control dentro del form1, no se si me entiendes. Por ejemplo: tengo en el form1 el user control "servers", al dar a un boton que esta dentro de "servers" ejecute "noticias1.BringToFront();" para que el user control "noticias1" se ponga encima de todo en el form1 Lo siento si es lioso, muchas gracias y un saludo Título: Re: Problema con los user control Publicado por: Eleкtro en 7 Febrero 2018, 23:10 pm lo que quiero hacer es que en el form1 muestre un user control, y cuando le de a un boton dentro ese user control, haga .BringToFront(); de otro user control dentro del form1, no se si me entiendes. 1. ¿Qué has intentado hacer para solucionarlo?, muestra el código... en el foro no se pide ni se hacen tareas. 2. ¿Qué es exactamente en lo que tienes dificultades con ese problema?. De todas formas te explico, basicamente lo único que tienes que hacer es controlar el evento Button.Click del botón hijo de tu user control, y ahí invocas un evento base, es decir, un evento existente en la clase de tu user control. Por si no lo has entendido bien, lo explicaré de otra forma: en la clase de tu user control, lo primero de todo debes declarar y exponer un evento llamado 'Click' (o como lo quieras llamar, eso no importa), luego hace falta que añadas un método llamado 'OnClick' que servirá para invocar el evento 'Click'. Ya tienes creado el evento y el invocador del evento, bien, ahora, debes añadir otro método para controlar el evento 'Button.Click' del botón hijo, y en el bloque de código de ese controlador del evento 'Button.Click' debes invocar el evento 'Click' base, es decir, el evento que declaraste en tu user control, llamando al invocador del evento (el método 'OnClick'). Si estás heredando la clase UserControl o cualquier otra clase que herede de la clase Control (como sería lógico suponer que estás haciendo), entonces puedes saltarte unos cuantos pasos, puesto que dicha clase ya expone un evento llamado Click que lo heredas y del cual podemos servirnos de la siguiente manera: Código
Te muestro la forma que expliqué de hacerlo al principio, es decir, creando un nuevo evento: Código
Ese último ejemplo serviría para diferenciar un tipo de click de otro, es decir, diferenciar un click en la superficie del user control (controlando el evento MyUserControl.Click), de un click en el botón (controlando el evento MyUserControl.ClickButton). Saludos |