zoukankan      html  css  js  c++  java
  • C# CHECKEDLISTBOX用法总结

    一般认为: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);
  • 相关阅读:
    www.insidesql.org
    kevinekline----------------- SQLSERVER MVP
    Sys.dm_os_wait_stats Sys.dm_performance_counters
    如何使用 DBCC MEMORYSTATUS 命令来监视 SQL Server 2005 中的内存使用情况
    VITAM POST MORTEM – ANALYZING DEADLOCKED SCHEDULERS MINI DUMP FROM SQL SERVER
    Cargo, Rust’s Package Manager
    建筑识图入门(初学者 入门)
    Tracing SQL Queries in Real Time for MySQL Databases using WinDbg and Basic Assembler Knowledge
    Microsoft SQL Server R Services
    The Rambling DBA: Jonathan Kehayias
  • 原文地址:https://www.cnblogs.com/maijin/p/2816194.html
Copyright © 2011-2022 走看看