Benjol
Benjol

Reputation: 66617

Event using generic EventHandler<> not visible in Designer

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?

Upvotes: 4

Views: 1279

Answers (1)

Hans Passant
Hans Passant

Reputation: 942358

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;

Upvotes: 8

Related Questions