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

Anirudh Goel picture Anirudh Goel · Jun 3, 2009 · Viewed 15.5k times · Source

Hi. I have a UserControl which contains a textbox. I wanted to access the textchanged event of the textbox but in the event properties of the usercontrol I don't see the events for the textbox. How can I expose and handle particular events of the child controls from the publicly exposed UserControl in Winforms with C#.

Answer

Matt Hamilton picture Matt Hamilton · Jun 3, 2009

You can surface a new event and pass any subscriptions straight through to the control, if you like:

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

    public event EventHandler SaveButtonClick
    {
        add { saveButton.Click += value; }
        remove { saveButton.Click -= value; }
    }
}