禁用带有复选框的列表视图中的单个复选框

本文关键字:复选框 视图 单个 列表 | 更新日期: 2023-09-27 18:33:47

我有一个带有复选框的列表视图:

        listView1.View = View.Details;
        listView1.CheckBoxes = true;
        ListViewItem item1 = new ListViewItem("ONE");
        ListViewItem item2 = new ListViewItem("TWO");
        ListViewItem item3 = new ListViewItem("THREE");
        listView1.Items.Add(item1);
        listView1.Items.Add(item2);
        listView1.Items.Add(item3);

我只想禁用第二个复选框,可以吗?

禁用带有复选框的列表视图中的单个复选框

我认为您可以使用 DrawItem 事件通过所有者绘图来做到这一点。在事件处理程序中,在复选框上方绘制一个填充了 SystemColors.Window 的矩形以隐藏它。

我还实现了在第三方控件中隐藏的复选框 更好的列表视图快递.项目具有一个名为 AllowShowCheckBox 的布尔属性,您可以在每个项目上单独将其设置为 false。它还支持三态复选框。