使用泛型创建自定义控件

时间:2013-01-28 13:56:08

标签: c# .net winforms user-controls custom-controls

我们希望创建一个WinForms自定义控件(从.net控件派生),并能够从设计器视图中的工具箱中拖放它。但是,每当我们使用泛型控件时,我们都无法做到这一点,因为当设计者试图创建类的实例时,由于显而易见的原因,它不知道实例必须是什么类型。

任何人都知道解决这个问题的方法吗?

提前致谢

==编辑===========

我们想做的是举例:

public class MyDataGridView<T> : DataGridView where T : class{
...
}

通过删除泛型,我们可以在设计器中看到预览,就好像它是普通的DataGridView,但正如我在上面用泛型解释的那样,我们无法使用设计器。

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,结果是:不要在设计师视图中使用通用控件! 您可以以编程方式创建它的实例,但您没有预览。 当你添加一个显式设置泛型参数的派生类时,它可能会起作用。