题
我创建了一个继承自System.Windows.Forms.UserControl的WinForms控件...我在控件上有一些自定义事件,我希望我的控件的使用者能够看到。在设计时,我无法让我的事件显示在“属性”窗口的“事件”选项卡中。这意味着分配事件的唯一方法是以编程方式编写
myUserControl.MyCustomEvent += new MyUserControl.MyCustomEventHandler(EventHandlerFunction);
这对我来说很好,我想但是当其他人来使用我的UserControl他们不会知道这些事件存在时(除非他们读图书馆doco ...是的)。我知道这个事件会出现在使用Intellisense的情况下,但如果它也可以在属性窗口中显示它会很棒。
解决方案
确保您的活动公开。例如......
[Browsable(true)]
public event EventHandler MyCustomEvent;
其他提示
使用委托的解决方案。例如,我用于处理项目添加事件的自定义ListView: 声明你的代表:
public delegate void ItemAddedHandler(object sender, ItemEventArgs e)
然后声明使用委托的事件:
[Browsable(true)]
public event ItemAddedHandler ItemAdded;
注意:ItemEventArgs是一个自定义的EventArgs
希望可以帮到你,对我有用
不隶属于 StackOverflow