我刚刚注意到,如果我使用通用的事件处理程序向我的用户控件添加事件,则在将用户控件添加到表单中时,在设计器中不会显示该事件。
public event EventHandler<TEventArgs<int>> EventNotVisibleInDesigner;
public event EventHandler EventVisibleInDesigner;
这并不是特别令人担忧,但这是按设计/正常操作吗,还是我做错了什么?
我刚刚注意到,如果我使用通用的事件处理程序向我的用户控件添加事件,则在将用户控件添加到表单中时,在设计器中不会显示该事件。
public event EventHandler<TEventArgs<int>> EventNotVisibleInDesigner;
public event EventHandler EventVisibleInDesigner;
这并不是特别令人担忧,但这是按设计/正常操作吗,还是我做错了什么?
Windows Forms设计器对泛型类型的支持有限。如果避免使用EventHandler<T>
的泛型类型参数,则可以正常工作:
public class TEventArgs<T> : EventArgs { }
public class MyEventArgs : TEventArgs<int> { }
public event EventHandler<MyEventArgs> EventNowAlsoVisibleInDesigner;