当前位置:编程学习 > C#/ASP.NET >>

请教高手,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>();
        }
    }

这是我的代码,只能实现吧绑定的数据传到其他控件上去 --------------------编程问答--------------------
引用 5 楼 asker1982 的回复:
......
所以说除非你自己继承一个CheckList……

补充一下...我最后一句的意思是指通过绑定实现你的要求,如果是用事件实现当然是很简单的
bs一下csnd不能编辑帖子 
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,