在windows窗体中使用泛型

本文关键字:泛型 windows 窗体 | 更新日期: 2023-09-27 18:16:07

我想创建带有Items属性的自定义控件。

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

实现这个的最好方法是什么?

在windows窗体中使用泛型

是的,你几乎可以使用任何东西。表单(只是)一个类。

你没有看到示例主要是因为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 { ... }
}