2011-11-30 70 views
0

我希望通过Items属性创建自定义控件。使用带窗体的仿制药

返回实现IList<Item>的类ItemColection是否安全?是否因为我没有在任何预先构建的控件中看到这一点?

实现此目的的最佳方式是什么?

回答

0

这是没有问题创建自IList继承的控制类型的属性。但是如果您正在构建控件,最好在设计时使PropertyGrid的属性可编辑。为了使其可编辑,您应该创建自己的收藏品,从CollectionBase继承并创建该类型的属性。

看看这篇文章:Creating a Custom Collection for Use in a PropertyGrid

而在这之后,不要忘记让你的项目属性在设计时可编辑通过设置适当的属性:

[Browsable(true), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 
public YourItemsCollection Items 
{ 
    get { ... } 
    set { ... } 
} 
2

是的,你可以使用任何东西。表格是(只)一个班级。

您看不到示例主要是由于WinForms是.NET 1.0技术。自那时以来很少有增加或改变。

,除非你需要特定的功能,只是保持简单:

public IList<ItemType> ItemsCollection { get ... set ... } 
+1

+1 - 虽然在一般你不” t需要集合属性上的setter。 – TrueWill

+0

正确的,或使其私密。我留下了一点原理图,不想将问题解读为问题。 –