防止用户检查 listView .NET 的项目
Posted
技术标签:
【中文标题】防止用户检查 listView .NET 的项目【英文标题】:Prevent user from checking items of listView .NET 【发布时间】:2020-09-02 20:10:06 【问题描述】:我使用listView
来显示一些测试步骤。在测试过程中,如果某个步骤通过了,我在listView
上打勾对应的Item
并将其ForeColor
更改为绿色,如果失败则将ForeColor
更改为红色。
listView
仅用于显示每个测试步骤的状态。
有什么方法可以阻止用户点击Items
并更改选中状态?
一种方法是禁用listView
,但随后无法调整ForeColor
...
【问题讨论】:
只需使用 ListView.ItemCheck 事件,将 NewValue 属性设置为 CurrentValue 即可取消更改。加上您设置为 true 的表单中的 bool 字段,以知道是您的代码检查了该项目。 谢谢,这是一个不错且干净的解决方案。 【参考方案1】:在@Hans Passant 的帮助下,下面的代码完全符合我的要求:
private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)
if (allowCheck == false) //Set allowCheck to true, when your program needs to Check an item
e.NewValue = e.CurrentValue;
此外,我添加了以下内容以取消单击项目时的突出显示:
private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
e.Item.Selected = false;
【讨论】:
以上是关于防止用户检查 listView .NET 的项目的主要内容,如果未能解决你的问题,请参考以下文章