我希望通过Items属性创建自定义控件。使用带窗体的仿制药
返回实现IList<Item>
的类ItemColection
是否安全?是否因为我没有在任何预先构建的控件中看到这一点?
实现此目的的最佳方式是什么?
我希望通过Items属性创建自定义控件。使用带窗体的仿制药
返回实现IList<Item>
的类ItemColection
是否安全?是否因为我没有在任何预先构建的控件中看到这一点?
实现此目的的最佳方式是什么?
这是没有问题创建自IList继承的控制类型的属性。但是如果您正在构建控件,最好在设计时使PropertyGrid的属性可编辑。为了使其可编辑,您应该创建自己的收藏品,从CollectionBase继承并创建该类型的属性。
看看这篇文章:Creating a Custom Collection for Use in a PropertyGrid
而在这之后,不要忘记让你的项目属性在设计时可编辑通过设置适当的属性:
[Browsable(true), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public YourItemsCollection Items
{
get { ... }
set { ... }
}
是的,你可以使用任何东西。表格是(只)一个班级。
您看不到示例主要是由于WinForms是.NET 1.0技术。自那时以来很少有增加或改变。
,除非你需要特定的功能,只是保持简单:
public IList<ItemType> ItemsCollection { get ... set ... }
+1 - 虽然在一般你不” t需要集合属性上的setter。 – TrueWill
正确的,或使其私密。我留下了一点原理图,不想将问题解读为问题。 –