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

时间:2021-07-07 05:15:46
有一个ListView,Detail模式,行可以多选,有CheckBox,当我按住Ctrl或者Shift选择多行的时候,CheckBox也跟着变化。

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

7 个解决方案

#1


没有,默认就是不跟着的

#2


那要CheckBox 还有什么用,checkbox是绘制上去的吧?

#3


引用 楼主 zqmillet 的回复:
有一个ListView,Detail模式,行可以多选,有CheckBox,当我按住Ctrl或者Shift选择多行的时候,CheckBox也跟着变化。

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

我用的是VB2010,这个人也遇到这个问题了
http://*.com/questions/2017170/c-sharp-listview-with-checkboxes-automatic-checkbox-checked-when-multi-select-r

#4


既然用了checkbox,为什么还要多选
既然想多选,为什么还要checkbox?

#5


引用 3 楼 zqmillet 的回复:
Quote: 引用 楼主 zqmillet 的回复:

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

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

我用的是VB2010,这个人也遇到这个问题了
http://*.com/questions/2017170/c-sharp-listview-with-checkboxes-automatic-checkbox-checked-when-multi-select-r
其实呢,这个CheckBox对应着一个Bool量,并不是表示这一行是不是被选中,而且我想方便的在ListView中改这个量。

#6


折腾半天算是解决了吧,谢谢ls各位~


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

#7


该回复于2014-12-12 11:17:37被管理员删除

#1


没有,默认就是不跟着的

#2


那要CheckBox 还有什么用,checkbox是绘制上去的吧?

#3


引用 楼主 zqmillet 的回复:
有一个ListView,Detail模式,行可以多选,有CheckBox,当我按住Ctrl或者Shift选择多行的时候,CheckBox也跟着变化。

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

我用的是VB2010,这个人也遇到这个问题了
http://*.com/questions/2017170/c-sharp-listview-with-checkboxes-automatic-checkbox-checked-when-multi-select-r

#4


既然用了checkbox,为什么还要多选
既然想多选,为什么还要checkbox?

#5


引用 3 楼 zqmillet 的回复:
Quote: 引用 楼主 zqmillet 的回复:

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

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

我用的是VB2010,这个人也遇到这个问题了
http://*.com/questions/2017170/c-sharp-listview-with-checkboxes-automatic-checkbox-checked-when-multi-select-r
其实呢,这个CheckBox对应着一个Bool量,并不是表示这一行是不是被选中,而且我想方便的在ListView中改这个量。

#6


折腾半天算是解决了吧,谢谢ls各位~


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

#7


该回复于2014-12-12 11:17:37被管理员删除