Hola. Tengo un UserControl que contiene un cuadro de texto. Quería acceder al evento text-changed del cuadro de texto, pero en las propiedades del evento de usercontrol no veo los eventos para el cuadro de texto. ¿Cómo puedo exponer y manejar eventos particulares de los controles secundarios del UserControl expuesto públicamente en Winforms con C#.exponer y plantear el evento de un control secundario en un control de usuario en C#
23
A
Respuesta
36
Puede surgir un nuevo evento y pasar directamente a través de las suscripciones al control, si se quiere:
public class UserControl1 : UserControl
{
// private Button saveButton;
public event EventHandler SaveButtonClick
{
add { saveButton.Click += value; }
remove { saveButton.Click -= value; }
}
}
1
Exponga todo el TextBox como una propiedad pública en control de usuario y suscríbase a sus eventos de la forma que desee.
Ejemplo:
class myUserControl: UserControl {
private TextBox _myText;
public TextBox MyText { get {return _myText; } }
}
Después de hacer esto se puede inscribir en cualquiera de sus eventos, así:
theUserControl.MyText.WhatEverEvent += ...
Espero que esto ayude!
+0
gracias, yo había hecho algo similar a partir de ahora. Estaba buscando una solución elegante que se proporcionó anteriormente. Gracias por su ayuda. + 1 –
Cuestiones relacionadas
- 1. Criar un evento en la ventana principal desde un control de usuario en .NET C#
- 2. Cómo exponer la propiedad Text de un control de usuario?
- 3. Acceso al control principal desde el control secundario: ASP.NET C#
- 4. ¿Cómo disparo un evento personalizado desde un Control de usuario?
- 5. Cómo exponer y generar eventos personalizados para un usuario de vb.net winforms control
- 6. ¿Cómo realizo un evento en el control de usuario y lo guardo en el formulario principal?
- 7. WPF Recorte de un control secundario
- 8. asp: Control literal nulo en el control de usuario
- 9. Pasar un valor de id. Al evento secundario del servidor LinkButton en el control gridview
- 10. Al modificar un control TextBox en el evento Leave se excluye el control
- 11. Asignación dinámica de una propiedad en un control de usuario en un control de repetidor ASP.NET
- 12. formulario incrustado en un control o el Formulario de Control de Usuario como
- 13. Cómo disparar un botón Haga clic en evento en el código detrás en control de usuario?
- 14. ¿Cómo exponer una ITemplate a través de un Control de usuario?
- 15. Diferencia entre control de usuario y biblioteca de control personalizado
- 16. Pasando el formato HTML en un control de usuario ASP.NET
- 17. ¿Cómo uso un control de usuario asp.net en otro control de usuario?
- 18. Cómo afectar las propiedades de control secundario de un estilo
- 19. ¿Cómo puedo plantear un evento usando Moq?
- 20. Eventos de control de usuario
- 21. ¿Guardar en caché un control de usuario en ASP.NET?
- 22. WPF control de usuario dentro de otro control de usuario
- 23. ¿Herencia visual o un control de usuario?
- 24. Winforms C# - Establecer el foco en el primer control secundario de TabPage
- 25. Agregando dinámicamente un control de usuario a un repetidor
- 26. Exponer propiedades de control interno para vincular en WPF
- 27. ¿Cómo puedo hacer un control con una colección control secundario en ASP.Net
- 28. usuario C# genérico de control de WPF
- 29. C# control de usuario como un panel personalizado
- 30. BeginUpdate() EndUpdate para un control de usuario
¡Maravilloso! Hice algo similar al agregar explícitamente un controlador de eventos, ya que expuse el control infantil públicamente a través del control de usuario. ¡Tu sugerencia es la mejor manera de hacerlo! ¡Gracias! –
A pesar de su elegancia, esta solución tiene un inconveniente importante: el argumento 'remitente' pasado al controlador será el Botón, no el UserControl ... Esto hace que sea imposible utilizar el mismo controlador para varias instancias del control –
¿Hay cualquier otra cosa para que esto funcione? de alguna manera, el manejador de eventos agregado declarativamente no funciona – Nap