3

我正在创建一个特殊的搜索文本框。除其他外,它有以下两个事件:

    [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; }
}

我在这里做错了什么?

4

1 回答 1

5

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

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

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

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

于 2009-04-21T11:08:20.493 回答