我们希望创建一个 WinForms 自定义控件(派生自 .net 控件)并能够将其从设计器 View 的工具箱中拖放。但是,只要我们有一个带有泛型的控件,我们就无法做到这一点,因为当设计者试图创建类的实例时,出于显而易见的原因,它不知道实例必须是什么类型。
有人知道解决这个问题的方法吗?
提前致谢
======edit===========
我们想做的是举个例子:
public class MyDataGridView<T> : DataGridView where T : class{
...
}
通过删除泛型,我们可以在设计器中看到预览,就像在普通 DataGridView 中一样,但正如我在上面解释的那样,我们无法使用设计器。
最佳答案
我遇到过同样的问题,结果是:不要在设计器 View 中使用通用控件! 您可以以编程方式创建它的实例,但您没有预览。 当您添加一个显式设置通用参数的派生类时,它可能会起作用。
关于c# - 使用泛型创建自定义控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14563612/