在VS窗体设计器中使用泛型的控件.

来源:互联网 发布:淘宝店怎么升级天猫店 编辑:程序博客网 时间:2024/05/16 16:01

做了一个图片显示的控件,因为种种原因设计成了要绘图的时候引发事件向提供者索引图片的方式.

既然是索引嘛,自然就有个key了.然后为了偷懒,就把key做成了泛型.接下来问题就来了:这个控件无法在

窗体设计器中打开...自己编辑了InitializeComponent手动加入控件后,VS窗体设计器直接给我报错了囧.

 

网上搜了半天也没搜到解决方案,毕竟像泛型控件类之类的东东比较少嘛.

想了半天终于想到一个折中的办法:

 

泛型类的定义如下:

  1. class PicView<KeyType>:Control
  2. {
  3. ...
  4. }

既然窗体设计器无法实例化泛型的控件类,那我就弄个非泛型类来用好了:

 

  1. public class PicViewStr : PicView<string>
  2. {
  3. //这儿啥也不写
  4. }

修改然后在设计的时候使用PicViewStr类代替原有的PicView类.

 

 

 

打开窗体设计器.一切正常~不用再手工写代码了:P

原创粉丝点击