winforms 在带有复选框的ListView中禁用单个复选框

wvt8vs2t  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(161)

我有一个带有复选框的ListView:

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);

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

fzwojiic

fzwojiic1#

我认为您可以使用DrawItem事件对所有者绘图进行此操作。在事件处理程序中,在复选框上方绘制一个填充有SystemColors.Window* 的矩形以隐藏它。
我还实现了复选框隐藏在第三方控制Better ListView Express。项目有一个布尔属性,名为
AllowShowCheckBox**,您可以在每个项目上分别将其设置为false。它还支持三态复选框。

相关问题