expose and raise event of a child control in a usercontrol in c#


Hola. Tengo un UserControl que contiene un cuadro de texto. Quería acceder al evento textchanged del cuadro de texto, pero en las propiedades de eventos del usercontrol no veo los eventos del cuadro de texto. Cómo puedo exponer y manejar eventos particulares de los controles secundarios del UserControl expuesto públicamente en Winforms con C#.

Author: Joachim Prinsloo, 2009-06-03

2 answers

Puede aparecer un nuevo evento y pasar cualquier suscripción directamente al control, si lo desea:

public class UserControl1 : UserControl 
{
    // private Button saveButton;

    public event EventHandler SaveButtonClick
    {
        add { saveButton.Click += value; }
        remove { saveButton.Click -= value; }
    }
}
 37
Author: Matt Hamilton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-11 08:30:59

Exponga todo el cuadro de texto como una propiedad pública en control de usuario y suscríbase a sus eventos de la manera que desee.
Ejemplo:

class myUserControl: UserControl { 
private TextBox _myText;
public TextBox MyText { get {return _myText; } }

}

Después de hacer esto, puede suscribirse a cualquiera de sus eventos de la siguiente manera:

theUserControl.MyText.WhatEverEvent += ... 

Espero que esto ayude!

 1
Author: Galilyou,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-06-03 05:24:36