先来张效果图:
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);
}