事件未显示在Property Grid中

时间:2009-04-21 10:54:49

标签: c# events propertygrid windows-forms-designer

我正在创建一个特殊的搜索文本框。除此之外还有这两件事:

    [Category("Behavior")]
    public event EventHandler<GenericEventArgs<string>> Search;

    [Category("Property Changed")]
    public event EventHandler<EventArgs> ActiveColorChanged;

    [Category("Property Changed")]
    public event EventHandler<EventArgs> InactiveColorChanged;

事情是,只有底部的两个出现在设计视图属性事件资源管理器中(无论它的名字是什么......)。我想知道为什么。是因为我没有使用标准EventArgs吗?但情况应该不是这样,因为我的意思是,还有其他事件没有使用......就像关键的新闻相关事件等......

GenericEventArgs<T>类看起来像这样:

public class GenericEventArgs<T> : EventArgs
{
    public T Value { get; private set; }
    public GenericEventArgs() : this(default(T)) { }
    public GenericEventArgs(T value) { Value = value; }
}

我在这里做错了什么?

1 个答案:

答案 0 :(得分:5)

我怀疑 Property Grid 不支持您的双通用EventHandler类。试试这个:

public delegate void GenericHandler<T>(object sender, GenericEventArgs<T> e);

如果这不起作用,请尝试一个完全非通用的处理程序,如果只是为了查看问题所在。

如果此 问题,那么我建议您在Connect上创建一个关于它的错误报告,然后在此处发布错误信息,以便我们对其进行投票。