views:

30

answers:

1

I've just noticed that if I add an event using a generic eventhandler to my UserControl, the event is not visible in the designer when I add the user control to a form.

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

Not particularly worrisome, but is this by-design/normal, or am I doing something wrong?

+1  A: 

The Windows Forms designer has limited support for generic types. It will work okay when you avoid the generic type argument for EventHandler<T>:

    public class TEventArgs<T> : EventArgs { }
    public class MyEventArgs : TEventArgs<int> { }
    public event EventHandler<MyEventArgs> EventNowAlsoVisibleInDesigner;
Hans Passant
Very crafty! Thanks for that.
Benjol