如何启用收集器的添加和删除按钮



我派出了我的集合课程的集合编辑器。但是,未启用集合编辑器中的添加和删除按钮,因此我无法通过Designer中的集合中添加或删除一个实例。

这是我使用的代码

[EditorAttribute(typeof(MyCollectionEditor), typeof(UITypeEditor))]
public MyCollection : IDisposable, ICollection
{  
    List<MyClass> list= new List<MyClass>();
    public Add(MyClass myclass)
    {
    }
    ......

 }

 public class MyCollectionEditor : CollectionEditor
 {
    public MyCollectionEditor ()
       : base(typeof(MyCollection))
    {
    }

    protected override Type CreateCollectionItemType()
    {
        return typeof(MyCollection);
    }
    public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
    {
        return base.EditValue(context, provider, value);
    }
 }

任何人都可以让我知道,如何启用添加,在收集编辑器中删除按钮并使其适用于我的收藏?

问:

尝试以下:

 public class MyCollectionEditor : CollectionEditor
    {
        public MyCollectionEditor()
            : base(typeof(MyCollection))
        {
        }
        protected override CollectionForm CreateCollectionForm()
        {
            CollectionForm form = base.CreateCollectionForm();
            Type type = form.GetType();
            PropertyInfo propertyInfo = type.GetProperty("CollectionEditable", BindingFlags.Instance | BindingFlags.NonPublic);
            propertyInfo.SetValue(form, true);
            return form;
        }
        protected override Type CreateCollectionItemType()
        {
            return typeof(MyCollection);
        }
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            return base.EditValue(context, provider, value);
        }
    }

这应该启用"添加"one_answers"删除"按钮。

最新更新