如何禁用ListView中的CheckBoxes?

时间:2018-12-07 07:11:33

标签: c# winforms listview

enter image description here

如果您在“ txtProdBarcode”部分键入一个单词,则列表将位于图片底部。列表节的名称是“ lvBase”,它是一个ListView

然后,当您在“ searchText”部分上键入单词时,“ lvBase”部分上的复选框将不可单击。我不想删除这些复选框,但想防止它们被选中。

我已尽力而为,但无法获得答案。

private void txtProdBarcode_TextChanged(object sender, EventArgs e)
{
    string searchText = txtProdBarcode.Text.ToUpper().Trim();

    if (searchText.Length > 0)
    {                  
        lvBase.CheckBoxes = false;                          
    }
    else
    {
        lvBase.CheckBoxes = true;
    }

此代码删除“ lvBase”部分上的复选框。

但是我只希望禁用复选框。

你们能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

为防止检查ListView的项目,您可以处理ItemCheck事件:

bool preventCheck = true;
private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)
{
    if (preventCheck)  // for example: !string.IsNullOrEmpty(textBox1.Text)
        e.NewValue = e.CurrentValue;
}