【问题标题】:Make listview with checkboxes act like checkbox list使带有复选框的列表视图像复选框列表一样
【发布时间】:2018-02-14 06:46:22
【问题描述】:

我需要一个复选框列表,我可以添加只读项目(因此使用列表视图,以便我可以将项目灰显并阻止用户选择它)。

但是,当我单击该项目时,复选框不会切换。但是当我将以下代码添加到项目点击事件时,

Private Sub LVSubFiles_Click(sender As Object, e As EventArgs) Handles LVSubFiles.Click
        If LVSubFiles.Items(LVSubFiles.FocusedItem.Index).ForeColor <> Drawing.Color.Gray Then
            If LVSubFiles.Items(LVSubFiles.FocusedItem.Index).Checked = True Then
                LVSubFiles.Items(LVSubFiles.FocusedItem.Index).Checked = False
            Else
                LVSubFiles.Items(LVSubFiles.FocusedItem.Index).Checked = True
            End If
        End If
End Sub

但是在这种情况下,当用户点击复选框而不是项目时,什么都不会发生,同时选择任何其他复选框会同时检查突出显示的项目和选中的新项目的复选框。

有没有办法可以让项目像复选框列表一样?我试过使用数据网格视图,但我遇到了类似的问题,很多代码都是基于这个列表视图的操作。

【问题讨论】:

  • 看看itemChecked事件和How to Asktour
  • ListView 中的所有项目都是只读的。您的意思是说您希望某些项目可选择而有些则不可选择?
  • 我的应用,我所说的只读是我需要将一些不应该选择的项目灰显。我无法将复选框列表中的项目变灰。我认为最大的问题是复选框列表每行只有一个可选项目,而列表视图将复选框作为单独的实体。我希望有一种方法可以将它们统一起来,这样就不会出现这种分离。

标签: vb.net listview checkbox checkboxlist


【解决方案1】:

对于那些发现这个问题的人。我最终选择了一个隐藏列来跟踪“只读”项目。每当列表更新只读标签时,该项目就会变成灰色,但仍然可以对其进行检查。

关于列表如何与用户交互,我将操作项移到了两个类别中,这似乎工作顺利。无论单击项目的哪个部分,用户都可以通过单击来选择/取消选择。

Private Sub dgvSubFiles_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvSubFiles.CellContentClick
    If dgvSubFiles(dgvSubFiles.Columns("chkSubFiles").Index, dgvSubFiles.CurrentCell.RowIndex).Value = True Then
        dgvSubFiles(dgvSubFiles.Columns("chkSubFiles").Index, dgvSubFiles.CurrentCell.RowIndex).Value = False
    Else
        dgvSubFiles(dgvSubFiles.Columns("chkSubFiles").Index, dgvSubFiles.CurrentCell.RowIndex).Value = True
    End If
End Sub

Private Sub dgvSubFiles_SelectionChanged(sender As Object, e As EventArgs) Handles dgvSubFiles.SelectionChanged
    dgvSubFiles.ClearSelection()
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    相关资源
    最近更新 更多