请教高手,CHecklistBox的用法(在线等...)
现在有一个checklistbox绑定了很多值,当点击一个时,他的item值赋值到另外一个控件上,而当再次点击时,值被取消?这样的代码如何写?请教各位高手? --------------------编程问答-------------------- function ReverseAll(){for(var i=0;i<document.getElementById("CheckBoxList1").getElementsByTagName("input").length;i++)
{
var objCheck = document.getElementById("CheckBoxList1_"+i);
if(objCheck.checked)
objCheck.checked = false;
else
objCheck.checked = true;
}
}
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.GetItemChecked(i))
{
checkedListBox1.SetItemChecked(i, false);
}
}
ItemCheck --------------------编程问答-------------------- 是winform下的 --------------------编程问答-------------------- ItemCheck事件里的ItemCheckEventArgs --------------------编程问答-------------------- --------------------编程问答-------------------- 我的看法是这样的...因为这CheckListBox是从ListBox里继承下来的,所以他的BindingSource中的CurrentChanged事件发生在SelectedValueChanged之后ItemCheck之前,所以说触发CurrentChanged的大概不是"勾选"某个item而是"选中"某个值(跟ListBox的触发方式一样)
所以说除非你自己继承一个CheckListBox,大概没办法实现你要的"当点击一个时,他的item值赋值到另外一个控件上,而当再次点击时,值被取消"
public partial class Form1 : Form
{
Itemcollection ic;
BindingSource bs;
public Form1()
{
InitializeComponent();
ic = new Itemcollection();
ic.Items.Add("潘驼背");
ic.Items.Add("王麻子");
ic.Items.Add("周连长");
bs = new BindingSource(ic, "Items");
}
private void Form1_Load(object sender, EventArgs e)
{
checkedListBox1.DataSource = bs;
textBox1.DataBindings.Add("Text", bs, "");
}
}
public class Itemcollection
{
private List<string> items;
public List<string> Items
{
get { return items; }
set { items = value; }
}
public Itemcollection()
{
this.items = new List<string>();
}
}
这是我的代码,只能实现吧绑定的数据传到其他控件上去 --------------------编程问答--------------------
补充一下...我最后一句的意思是指通过绑定实现你的要求,如果是用事件实现当然是很简单的
bs一下csnd不能编辑帖子
补充:.NET技术 , C#