• C# CHECKEDLISTBOX控件用法总结,同理可应用于DX控件


    一般认为:foreach (object obj in checkedListBox1.SelectedItems)即可遍历选中的值。 其实这里遍历的只是高亮的值并不是打勾的值。遍历打勾的值要用下面的代码:

    for (int i = 0; i < checkedListBox1.Items.Count; i++)

    {   

        if (checkedListBox1.GetItemChecked(i))    

       {        

        MessageBox.Show(checkedListBox1.GetItemText(checkedListBox1.Items[i]));    

          }

    }

    最近用到checklistbox控件,在使用其过程中,花了较多的时间,这里我收集了其相关的代码段,希望对大家有所帮助。

    1. 添加项

    checkedListBox1.Items.Add("蓝色");

    checkedListBox1.Items.Add("红色");

    checkedListBox1.Items.Add("黄色");  

    2. 判断第i项是否选中,选中为true,否则为false

    if(checkedListBox1.GetItemChecked(i))

    {     

       return true;

    }

    else

    {     

       return false;

    }  

    3. 设置第i项是否选中

    checkedListBox1.SetItemChecked(i, true);  //true改为false为没有选中。  

    4. 设置全选 添加一个名为select_all的checkbox控件,由其控制checkedListBox是全选还是全不选。

    private void select_all_CheckedChanged(object sender, EventArgs e)

    {     

      if(select_all.Checked)

         {          

          for (int j = 0; j < checkedListBox1.Items.Count; j++)

              checkedListBox1.SetItemChecked(j, true);

        }

       else

        {

          for (int j =0; j < checkedListBox1.Items.Count; j++)    

          checkedListBox1.SetItemChecked(j, false);

        }

    }  

    5. 得到全部选中的值 ,并将选中的项的文本组合成为一个字符串。  

    string strCollected = string.Empty;  

    for (int i = 0; i < checkedListBox1.Items.Count; i++)  

    {      

      if (checkedListBox1.GetItemChecked(i))      

        {          

           if (strCollected == string.Empty)          

           {               

            strCollected = checkedListBox1.GetItemText( checkedListBox1.Items[i]);          

           }

                 else         

           {  

                       strCollected = strCollected + "/" + checkedListBox1. GetItemText(checkedListBox1.Items[i]);    

               }       

         }

    }    

    6. 设置CheckedListBox中第i项的Checked状态

    checkedListBox1.SetItemCheckState(i, CheckState.Checked);   

     7.

    private void checkBoxAll_CheckedChanged(object sender, EventArgs e)

    {     

       if (checkBoxAll.Checked)   

       {         

         //被选择了则将CheckedListBox中的所有条目都变为Checked状态       

           for (int i = 0; i < checkedListBoxLayerControl.Items.Count;  i++)    

           {    

           checkedListBoxLayerControl.SetItemCheckState(i, CheckState.Checked);

           }

      }

      else

      {     

        //否则变成Unchecked状态  

         for (int i = 0;  i < checkedListBoxLayerControl.Items.Count; i++)

         {

          checkedListBoxLayerControl.SetItemCheckState(i, CheckState.Unchecked);

        }             

      }

    }

    8. checkedListBox 单选设置(代码实现)

    private void chkl_ItemAuditing_ItemCheck(object sender,   ItemCheckEventArgs e)

    {    

        if (chkl_ItemAuditing.CheckedItems.Count > 0)    

       {         

        for (int i = 0; i < chkl_ItemAuditing.Items.Count; i++)       

        {

          if (i != e.Index)

           {

            this.chkl_ItemAuditing.SetItemCheckState(i, System.Windows.Forms.CheckState.Unchecked);

           }

         }

       }

    }

    9. checkedListBox1显示一个数据库中关键字对应的所有记录

    for (int i = 0; i < table.Rows.Count; i++)

    {    

       string name = table.Rows["myname"].ToString();   

       string paw = table.Rows["mypaw"].ToString();    

       checkedListBox1.Items.Add(name + paw);

    }  

    10.

    for(i=0;i<CheckedListBox.Items.Count;i++)  

         if(CheckedListBox.GetItemText( CheckedListBox.Items)=="你得到的值") 

      {

             CheckedListBox.SetItemChecked(i,true); 

          }  

    }

     11. 清除checkedListBox1中所有的选项

    for (int i = 0; i < checkedListBox1.Items.Count; i++)

    {    

      checkedListBox1.Items.Clear();

    }

    12.

    //设置索引为index的项为选中状态

    for (int i = 0; i < checkedListBox1.Items.Count; i++)

    {   

      checkedListBox1.SetItemChecked(i, true);

    }  

    13.

     for (int i = 0; i < checkedListBox1.Items.Count; i++)

    {

      if (checkedListBox1.GetSelected(i))

      {

         MessageBox.Show(checkedListBox1.CheckedItems.ToString());

      }

    }  

    14. //选中checkedListBox1所有的选项 

    for (int i = 0; i < checkedListBox1.Items.Count; i++)      

    {

       checkedListBox1.SetItemCheckState(i, CheckState.Checked);

    }  

    15.            

    for (int i = 0; i < checkedListBox1.Items.Count; i++)

      //如果checkedListBox1的第i项被选中, //则显示checkedListBox1对应的值

       if (checkedListBox1.GetItemChecked(i))

       {   

        MessageBox.Show(checkedListBox1.Items.ToString());

       }

    }

    16. //反向选择checkedListBox1的选项

    for (int i = 0; i < checkedListBox1.Items.Count; i++)

    {    

       if (checkedListBox1.GetItemChecked(i))   

      {       

         checkedListBox1.SetItemChecked(i, false);   

      }

      else

      {

              checkedListBox1.SetItemChecked(i, true);   

       }

    }

    17. //checkedListBox1中选定的项->checkedListBox2

    for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++)

    {

         checkedListBox2.Items.Add(this.checkedListBox1.CheckedItems);  

      //remove是除去一个具体的值,不是index,注意了     

        this.checkedListBox1.Items.Remove(  this.checkedListBox1.CheckedItems);

    }  

    http://www.360doc.com/content/11/1229/13/19147_175810806.shtml 原文于此

  • 相关阅读:
    Vue 获取URL链接后面的参数值
    Vue 跳转到指定页面,返回到上一页
    Vant 插件
    Vue 返回上一页,记住上一页的数据
    vue pc端支付宝支付
    Spring 中的事务
    数据库中锁与事务
    《产品方法论》 读书笔记
    设计模式之装饰者模式
    设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/zhulinyixuan/p/2687899.html
Copyright © 2020-2023  润新知