首页 > Windows开发 > 详细

C# checkedlistbox 控件 有bug

时间:2019-11-05 09:22:59      阅读:99      评论:0      收藏:0      [点我收藏+]
加入集合
private void Form2_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("产品名称", typeof(string));
            dt.Columns.Add("题目", typeof(string));
            for (int i = 0; i < 10; i++)
            {
                DataRow dr = dt.NewRow();
                dr["产品名称"] = "0001" + i;
                dt.Rows.Add(dr);
            }


            for (int i = 0; i < dt.Rows.Count; i++)
            {
                this.chb产品名称.Items.Add(dt.Rows[i]["产品名称"]);
            }

        }

//选中事件

 private void chb产品名称_SelectedValueChanged(object sender, EventArgs e)
        {

            string de = (string)chb产品名称.SelectedItem;
            var index = chb产品名称.SelectedIndex;
             
            var t0 = chb产品名称.GetItemChecked(index);  //第一次点击后 赋值, 第二次获取后 是false,第三次 也是false  有bug
            var t2 = chb产品名称.GetItemCheckState(index);
            if (t2==CheckState.Unchecked) 
            {
                chb产品名称.SetItemCheckState(index, CheckState.Checked);
            }
          
            //var t1 = chb产品名称.GetSelected(index);
            //if (t1 && t0 == false)
            //{
            //    //chb产品名称.SetItemChecked(index, true);
            //}
            //else
            //{
            //    chb产品名称.SetItemChecked(index, false);
            //}

            //chb产品名称.SetItemChecked(index, !chb产品名称.GetItemChecked(index));


            //判断是选中  取消,  不是选中 就 选中



            // MessageBox.Show("00");
            //chb产品名称.SetItemChecked(1,true)
            //var t  = this.chb产品名称.CheckedItemCollection;
        }

//最后  设置 属性 解决

CheckOnClick = true; 

 

C# checkedlistbox 控件 有bug

原文:https://www.cnblogs.com/enych/p/11796271.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!