如何为ASP.Net自定义控件提供新的自定义事件

Car*_*ter 4 c# asp.net events

我觉得Google应该能够为我解决这个问题,但我发现很少甚至没有我真正理解的例子.

我有这个名为UserControlTask​​的自定义控件.我希望向它添加一个OnHide事件,顾名思义,我希望在隐藏用户控件时抛出它.

我似乎找到了很多像OnClick这样的重写事件的例子,但是没有一个是在添加全新事件的地方.

我真正知道的是我需要声明EventHandler ......

public event EventHandler Hide;
Run Code Online (Sandbox Code Playgroud)

然后我相信将OnHide添加到我的CreateChildControls方法中的属性.我认为无论如何这都是准确的.除此之外我什么都不知道.

con*_*tor 7

您的问题不是添加事件(这很容易:

public event EventHandler Hide;

// this is the function that raises the event
private void OnHide() {
    if (Hide != null)
        Hide(this, new EventArgs());
}
Run Code Online (Sandbox Code Playgroud)

你的问题是知道何时调用OnHide()(引发事件) - 因为没有办法知道用户何时隐藏控件(我假设你在谈论客户端发生的事情),你没有时间应该提出这个事件.