我创建了一个继承自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

希望可以帮到你,对我有用

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top