none
ListView中多选影响CheckBox的值,如何解决? RRS feed

  • 问题

  • 有一个ListView,Detail模式,行可以多选,有CheckBox,当我按住Ctrl或者Shift选择多行的时候,CheckBox也跟着变化。

    我想让CheckBox的值不受多选的影响,请问如何设置。谢谢。

    2014年11月27日 3:38

答案

  • 请参考以下做法

    http://stackoverflow.com/questions/2017170/c-sharp-listview-with-checkboxes-automatic-checkbox-checked-when-multi-select-r

    • 已标记为答案 zqmillet 2014年11月28日 0:51
    2014年11月27日 5:32

全部回复

  • 请参考以下做法

    http://stackoverflow.com/questions/2017170/c-sharp-listview-with-checkboxes-automatic-checkbox-checked-when-multi-select-r

    • 已标记为答案 zqmillet 2014年11月28日 0:51
    2014年11月27日 5:32
  • 谢谢,已经解决了。

    不论是按住 Ctrl Shift 多选,还是鼠标框选,都没有问题。

    Dim FirstChange As Boolean = True
    
    AddHandler ListView.ItemChecked, AddressOf  ListView_ItemChecked
    
    Private Sub ListView_ItemChecked(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckedEventArgs)
            If CType(sender, ListView).SelectedItems.Count > 1 Then
                If (FirstChange) Then
                    FirstChange = False
                    e.Item.Checked = Not e.Item.Checked
                Else
                    FirstChange = True
                End If
            End If
        End Sub



    • 已编辑 zqmillet 2014年11月27日 7:54
    2014年11月27日 7:52