2012-12-13 48 views
2

我试图改变集合属性出现在Winforms PropertyGrid中的方式。从PropertyGrid集合属性中删除“...”按钮

而不必

MyList | (Collection) [...] 

而不必按按钮,显示CollectionEditor的。 我将List扩展为ExpandableObjectConverter。但我仍然得到[...]按钮。所以现在看起来像这样。

[+] MyList | (2 Items) [...] 
    Item 1 | Value 
    Item 2 | Value 

最后,我想替换这个[...]为添加按钮。我只是不知道从哪里开始。如果我理解正确,CollectionEditor是我按下[...]时显示的窗口。那么我需要重写什么对象才能删除并添加我自己的按钮。

感谢

回答

5

继承了CollectionEditor一个新的类,并覆盖GetEditStyle返回None,以防止呈现“...”按钮。

同样不幸的是,您不能使用标准propertygrid添加Add按钮。您可以选择“...”,向下箭头或无按钮。

[EditorAttribute(typeof(CustomEditor), typeof(UITypeEditor))] 

class CustomEditor : CollectionEditor 
{ 
    public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) 
    { 
    return UITypeEditorEditStyle.None; 
    } 
} 

您可以使用下面的属性应用这种新的编辑器的属性格式