【问题标题】:C# Checkedlistbox if checkedC# Checkedlistbox 如果选中
【发布时间】:2014-07-27 06:56:45
【问题描述】:

是否可以像在复选框中一样将 .Checked== 应用于已检查的列表框?

如果以复选框的方式进行操作,则不起作用

if(checkedListBox1.Items[2].Checked==true)
{
}

【问题讨论】:

    标签: c# checkbox


    【解决方案1】:

    你需要的是方法GetItemCheckState

    用法如下:

    if(checkedListBox1.GetItemCheckState(2) == CheckState.Checked)
    {
    
    }
    

    【讨论】:

      【解决方案2】:

      你可以这样使用

      if (checkedListBox1.CheckedItems.Contains("ItemWithIndex2"))
      {
          MessageBox.Show("Test");
      }
      

      【讨论】:

      • 如果有多个同名的项目,这可能会导致错误的行为
      【解决方案3】:

      尝试类似...

      checkedListBox1.GetItemChecked(i)
      
      foreach(int indexChecked in checkedListBox1.CheckedIndices) {
          // The indexChecked variable contains the index of the item.
          MessageBox.Show("Index#: " + indexChecked.ToString() + ", is checked. Checked state is:" +
                          checkedListBox1.GetItemCheckState(indexChecked).ToString() + ".");
      }
      

      【讨论】:

        【解决方案4】:

        GetItemChecked() 返回一个布尔值。所以你可以像下面这样使用它:

        if(checkedListBox1.GetItemChecked(index) == true) {
        
        }
        

        其中index 是一个整数值,表示checkedListBox1 的行索引。

        【讨论】:

          【解决方案5】:

          GetItemCheckState() 返回一个布尔值。所以可以这样使用:

          if(checkedListBox1.GetItemCheckState(index) == true)
          {
          
          }
          

          其中 index 是一个整数值,表示 CheckedListBox 的行索引

          【讨论】:

            【解决方案6】:

            您可能正在寻找类似的东西

            foreach(int i in checkedListBox1.SelectedIndices)
                    {
                        if(checkedListBox1.GetItemCheckState(i)!=CheckState.Checked)
                        {
                            ....
                        }
                    }
            

            【讨论】:

              【解决方案7】:

              checkedListBox1.CheckedItems.Count>0

              【讨论】:

                【解决方案8】:
                var itemChecked = checkedListBox1.GetItemChecked(checkedListBox1.SelectedIndex);
                

                【讨论】:

                • 欢迎来到stackoverflow。纯代码答案并不理想,您应该考虑添加一些解释。
                【解决方案9】:

                我不确定我是否理解您的问题,您是否要检查是否至少选中了列表框中的一项?如果是这样,您可以这样做

                if(checkedListBox1.Items.Any(item=>item.Checked))
                {
                }
                

                【讨论】:

                • Items 包含字符串,所以item.Checked 不起作用
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2015-06-18
                • 2014-09-12
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多