先来张效果图:
1.这里需要对控件进行重写,详细内容如下,对此不感兴趣的可以直接跳过这步,下载本人生成的dll,直接看第二小结,下载链接https://pan.baidu.com/s/1gfzrK5t
稍后在补
2.在C#工具箱中添加外部引用的可见控件
有两种方法:
1)在References中添加如上生成的dll,在Toolbox中添加一个Tag,在该Tag上右击选择ChooseItems,选择dll
2)直接把需要的DLL文件拖到工具箱中,VS会自动在工具箱添加该DLL中的可见控件。
3.使用
1)将控件拖拽入Form中,调整大小和位置
2)添加AddItems方法,代码示例
public Form1() { InitializeComponent(); comCheckBoxList2.AddItems("1...."); comCheckBoxList2.AddItems("2...."); comCheckBoxList2.AddItems("3...."); }
示例图:
3)添加checkbox的点击事件
在该控件上右击进入属性页面,选择事件页面,双击ItemClick生成后台函数或者自己填写。添加如下代码:
private void comCheckBoxList2_ItemClick(object sender, ItemCheckEventArgs e) { string text = comCheckBoxList2.GetItemText(comCheckBoxList2.Items[e.Index]); }
其中text是复选框后面的文字内容,e.index是第几个,这很好理解。
动态生成下拉复选框可以使用如下代码:
public void additems(string pool) { jobs_result = new List<string>(); try { jobs = DBJB.GetJobID(pool); foreach (job job in jobs) comCheckBoxList2.AddItems(job.jid+"-"+job.jname); } catch { } }
确认复选框选择了哪些,可以使用以下代码:
private void comCheckBoxList2_ItemClick(object sender, ItemCheckEventArgs e) { string text = comCheckBoxList2.GetItemText(comCheckBoxList2.Items[e.Index]); if (jobs_result.Contains(text)) jobs_result.Remove(text); else jobs_result.Add(text); }