c# - 使用复选框禁用 ListView 中的单个复选框

标签 c# .net winforms listview checkbox

我有一个带复选框的 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);

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

提前致谢。

最佳答案

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

我还实现了隐藏在第 3 方控件中的复选框 Better ListView Express .项目有一个名为 AllowShowCheckBox 的 bool 属性,您可以将每个项目分别设置为 false。它还支持三态复选框。

关于c# - 使用复选框禁用 ListView 中的单个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10548149/

相关文章:

c# - 动态构建的 LINQ 查询会根据其构建方式提供不一致的结果

c# - 为什么滚动这个 xamarin 页面这么慢?

c# - NHibernate:你总是需要提交吗?它在读取时实际上做了什么?

C# Lazy <T> & 竞速初始化?

c# - 如何从未保存在磁盘上的拖放文件中获取数据

.net - Control.DestroyHandle 何时被调用?

c# - 中继器 - 在 "content"中带有滚动条的固定页眉和固定脚

c# - Asp.Net Core 中的 IP 安全

.net - 在 System.Reflection 中使用 Moles

c# - 从数据库登录