先看效果图:
实现思路:
自定义控件,继承DataGridView,屏蔽掉 DataGridView 的行列标题栏显示(根据需要,也可不屏蔽);
为选项 单元格 的 value 赋值,用户显示和记录用户的选择。
主要是处理 Cell 的点击事件,记录用户点击的 单元格,并以不同的颜色区分。
关于value的赋值,本来想用泛型实现,但自定义控件不能直接使用泛型(不然无法放到工具箱里面);
但可以直接使用普通泛型类(即不使用自定义控件),只不过失去了直接拖动的便捷;
另外,也可以在自定义控件中把类型直接确定(实例代码中用的是 int )。
源代码中有更多说明和使用实例,代码下载链接:
http://download.csdn.net/detail/lj22377/8926777
第二版更新:
1、添加了部分实用的函数,选择,取消选择,选择指定项,清空选择等。
2、非泛型版本直接由泛型版本继承过来,新增功能时只需在泛型版本中添加代码即可。
3、本例中非泛型版本是int类型,可以自己定义类型,然后直接继承泛型版本,即可以有自定义类型,而且可以放到工具箱中,方便拖动与布局。
第二版下载链接:
http://download.csdn.net/detail/lj22377/8951763