我刚才注意到,如果我使用通用事件处理程序向我的UserControl添加一个事件,那么当我将用户控件添加到表单时,该事件在设计器中是不可见的。
public event EventHandler<TEventArgs<int>> EventNotVisibleInDesigner;
public event EventHandler EventVisibleInDesigner;
不是特别令人担忧,但这是设计/正常,还是我做错了什么?
答案 0 :(得分:7)
Windows窗体设计器对泛型类型的支持有限。当你避免使用EventHandler<T>
的泛型类型参数时,它会正常工作:
public class TEventArgs<T> : EventArgs { }
public class MyEventArgs : TEventArgs<int> { }
public event EventHandler<MyEventArgs> EventNowAlsoVisibleInDesigner;