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

VB.net checklistbox 如何删除 打勾的项目

各位高手,VB.net  checklistbox 如何删除 打勾的项目。实在想不出来了大家帮帮忙,谢谢了 --------------------编程问答--------------------  如果只是单选的话,用这个好办      
 Dim b As Boolean
        Dim i As Integer = Me.CheckedListBox1.SelectedIndex
        b = Me.CheckedListBox1.GetItemChecked(i)
        If b = True Then
        Me.CheckedListBox1.Items.RemoveAt(i)
        End If
--------------------编程问答-------------------- 非常感谢sjm2003,但是如果多选呢?  --------------------编程问答-------------------- 写个循环把每个的都改为FLASE --------------------编程问答-------------------- 能给个完整代码吗?谢谢了,我实在搞的头大了,呵呵。 --------------------编程问答--------------------  For a As Integer = 0 To Me.CheckedListBox1.Items.Count - 1
            For i As Integer = 0 To Me.CheckedListBox1.CheckedItems.Count - 1
                If Me.CheckedListBox1.Items(a) = Me.CheckedListBox1.CheckedItems.Item(i) Then
                    Me.CheckedListBox1.Items.RemoveAt(a)
                End If

            Next
        Next --------------------编程问答-------------------- 只能循环删 --------------------编程问答-------------------- 感谢ping502 和大家的关注,但是502给的代码也是只可以删除勾选的1项,如果勾选数目大于1的话就会出错。5555~我可咋办~ --------------------编程问答-------------------- 不能改用listbox吗?那样选择多条后,用循环删除不会出错!
checklistbox我用for each in 和for 都试过了,似乎都会出错,foreach错误是,目标不在里面

或许要用多个 循环和判断吧,搞不清楚!

但是要删除多个,只能循环!


路过。。。。。。。。。。。。。。。帮你顶个。。。。。。。。。。。。。。。。。。。。。 --------------------编程问答-------------------- 如果可以换其它控件的话,其实要解决你这问题很简单 --------------------编程问答-------------------- 看来只能忍痛割爱了,其实Checklistbox用起来比普通listbox要酷很多 --------------------编程问答--------------------         Dim list_num As Integer = CheckedListBox1.Items.Count - 1
        For a As Integer = 0 To list_num
            For i As Integer = 0 To CheckedListBox1.Items.Count - 1
                If CheckedListBox1.CheckedItems.Count = 0 Then
                    Exit For
                End If
                If CheckedListBox1.Items(i) = CheckedListBox1.CheckedItems.Item(0) Then
                    CheckedListBox1.Items.RemoveAt(i)
                    Exit For
                End If
            Next
        Next --------------------编程问答--------------------


   private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < this.checkedListBox1.Items.Count;i++ )
            {
                if (this.checkedListBox1.GetItemChecked (i)==true)
                {

                    this.checkedListBox1.Items.Remove(this.checkedListBox1.Items[i]);
                }
            }
        }


--------------------编程问答--------------------         Dim indexes As CheckedListBox.CheckedIndexCollection = Me.CheckedListBox1.CheckedIndices
        If indexes.Count > 0 Then
            For Each index In indexes
                Me.CheckedListBox1.Items.RemoveAt(indexes(0))
            Next
        Else
            MsgBox("No any selection.")
        End If

我用vb2008的. --------------------编程问答-------------------- 删除的时候,如果是多选,需要从索引的最大值循环到 0 才能正常删除。

Dim i As Integer
For i = CheckBoxList1.Items.Count - 1 To 0 Step -1
  If CheckBoxList1.GetItemChecked(i) Then
    CheckBoxList1.Items.RemoveAt(i)
  End If
Next
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,