enum ClassType
{
BASE,
A,
B
}
class BaseClass
{
ClassType CT;
//some fields
}
class AClass : BaseClass
{
//some fields
}
class BClass : BaseClass
{
//some fields
}
class Holder
{
public List<BaseClass> list { get; set; }
}
然后我有一个收藏 List<BaseClass> list;
如果将Holder的实例加载为PropertyGrid.SelectedObject,则可以添加,编辑和删除集合中的元素,但是我只能添加BaseClass,而我想要的是选择要在列表中添加的类。
如果不制作自己的收藏夹编辑器,这可能吗?
ContextMenuStrip.Items编辑器需要类似的内容,但我不知道它是如何制作的。
您可能想要尝试从中继承并覆盖NewItemTypes属性:
您将需要在集合类型中添加EditorAttribute,以指定继承的编辑器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句