在windows窗体中使用泛型
本文关键字:泛型 windows 窗体 | 更新日期: 2023-09-27 18:16:07
我想创建带有Items属性的自定义控件。
返回实现IList<Item>
的ItemColection
类是否安全,因为我没有在任何预构建控件中看到这一点?
实现这个的最好方法是什么?
是的,你几乎可以使用任何东西。表单(只是)一个类。
你没有看到示例主要是因为WinForms是。net 1.0技术。此后很少添加或更改。
除非您需要特定的功能,否则请保持简单:
public IList<ItemType> ItemsCollection { get ... set ... }
为控件创建继承自ILIst类型的属性是没有问题的。但是,如果您正在构建一个控件,最好在设计时使用PropertyGrid使您的属性可编辑。要使其可编辑,您应该创建从CollectionBase继承的您自己的项集合,并创建该类型的属性。
查看这篇文章:创建用于PropertyGrid的自定义集合
之后,不要忘记在设计时通过设置适当的属性使您的Items属性可编辑:
[Browsable(true), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public YourItemsCollection Items
{
get { ... }
set { ... }
}