ToolBar的Buttons属性在设计时可弹出"ToolBarButton 集合编辑器"对话框编辑按扭,我的控件的Buttons属性是一个继承了IList, ICollection, IEnumerable接口的类实例,其中每个元素都是自己定义的类实例,但是在设计时弹出"object 集合编辑器",按"添加"按扭生成的是一个object,而不是自己定义的类实例.该怎么实现我的Buttons属性呢?

解决方案 »

  1.   

    但我要做的不是ToolBar,继承ToolBar有什么用?
      

  2.   

    另外即使我做的是ToolBar,继承了.Net的ToolBar,当程序运行时改变ToolBar.Buttons[index]的Visible属性我也捕捉不到。
      

  3.   

    你的Buttons的那个类从CollectionBase继承,并重写它的相关方法CollectionBase类的概述中有个事例
      

  4.   

    1.在Buttons属性上加上
    [Editor(typeof(你的编辑类),typeof(UITypeEditor))]
    public XXX Buttons {
       ...
    }
    2.上面括号中的“你的编辑类”需从CollectionEditor继承
     class MyButtonCollectionEditor : CollectionEditor
     {
       ...
     }
    具体的看帮助吧
      

  5.   

    重写CollectionEditor的CreateCollectionItemType和SetItems方法基本达到了要求。谢谢