例,我有一个控件需要添加自定义属性。
   public enum ResourceMode : byte
    {
        //未定义
        Null  = 0,
        //通用
        Common = 1,
        //自身
        Self = 2,
        //外部
        Ext = 3
    }   [Description("资源类型:Null(空) Common(公用) Self(自身) Ext(外部)"), Category("ExProperty")] 
    public ResourceMode mResourceMode
    {
        get
        {
            return mEnmResourceMode;
        }
        set
        {
            mEnmResourceMode = value;
        }    }这样我可以在设计时,修改这个属性,但是这里的ResourceMode是一个枚举,能否实现这个
枚举动态生成,也就是说ResourceMode的内容来自于动态内容?最好有代码示例。谢谢。

解决方案 »

  1.   


    以前讨论过:http://topic.csdn.net/u/20100820/18/094e64b4-b1d3-4429-b8c6-6991ca24c2e5.html
      

  2.   

    首先你得文字里只出现了“属性”,没有出现“特性”我想你的目的是不是实现:运行期从Category这个特性中来取,如果是这样,就是可以实现的。但是如果是运行时改变枚举类型的成员,就不好办
      

  3.   

    7楼好像也不能解决问题,我说的不是运行时扩展PropertyGrid,
    而是在VS2010设计时。一般情况: 自定义一个控件,给这个控件加一个自定义属性,然后其他打开Form设计器,
    拖入这个控件,PropertyGrid中多了一个自定义属性,这个属性的内容来自一个enum,
    没问题。我的情况:前面等同,后面,这个新加的属性里面的值来自的enum的内容是动态加入的。