使用通用EventHandler<>的事件在Designer中不可见

时间:2010-09-16 13:14:48

标签: visual-studio winforms events designer

我刚才注意到,如果我使用通用事件处理程序向我的UserControl添加一个事件,那么当我将用户控件添加到表单时,该事件在设计器中是不可见的。

public event EventHandler<TEventArgs<int>> EventNotVisibleInDesigner;
public event EventHandler EventVisibleInDesigner;

不是特别令人担忧,但这是设计/正常,还是我做错了什么?

1 个答案:

答案 0 :(得分:7)

Windows窗体设计器对泛型类型的支持有限。当你避免使用EventHandler<T>的泛型类型参数时,它会正常工作:

    public class TEventArgs<T> : EventArgs { }
    public class MyEventArgs : TEventArgs<int> { }
    public event EventHandler<MyEventArgs> EventNowAlsoVisibleInDesigner;