设置用户控件的默认事件

时间:2013-02-19 11:45:40

标签: c# .net winforms events user-controls

我有一个User Control包含一堆控件。我想将此User Control的默认事件设置为我的某个按钮的Click事件。

我知道要将默认事件设置为UserControl的一个事件,我应该添加属性:

[DefaultEvent("Click")]
public partial class ucPersonSearch : UserControl
...

我想知道是否可以做类似的事情:

[DefaultEvent("btn1_Click")]
public partial class ucPersonSearch : UserControl
...

我希望在btn1被阻止的时候在托管此用户控件的表单中触发一些方法。

这在我的项目中确实很有针对性,你的回答将是有价值的。

1 个答案:

答案 0 :(得分:10)

您不能将班级成员的事件暴露给班级外部。其他人如何在Click内订阅Button的{​​{1}}事件?你试过吗?除非您从外部访问按钮,否则这是不可能的,这是不好的(每个人都可以更改所有属性)。

您必须定义一个新事件,并在您想要的事件(点击按钮)发生时触发您的新事件:

UserControl