C# 如何禁用ListView中的复选框?

C# 如何禁用ListView中的复选框?,c#,winforms,listview,C#,Winforms,Listview,如果您在“txtProdBarcode”部分键入一个单词,列表将如图所示位于底部。列表部分的名称是“lvBase”,它是一个ListView 然后,当您在“searchText”部分键入单词时,“lvBase”部分上的复选框不应被单击。我不想删除复选框,但想阻止它们被选中 我已经尽了最大的努力,但是没有得到答案 private void txtProdBarcode_TextChanged(object sender, EventArgs e) { string searchText =

如果您在“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”部分上的复选框

但我只想禁用复选框


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

为了防止检查
列表视图的项目,你们可以处理事件:


什么是“lvBase”控件类型?你不能禁用该控件,使其内部的控件都无法访问或单击吗?你是否尝试过
.IsEnabled=false
?似乎你的lvBase是基于System.Windows.Forms.ListView的某个自定义控件,它以自己的自定义方式操纵复选框,我们不知道它是如何做到的。但是,其.checkbox属性应该包含一些与复选框相关的功能。如果您可以查找它并使用该属性中的代码更新您的问题,我们可以帮助您找到问题的解决方案。
bool preventCheck = true;
private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)
{
    if (preventCheck)  // for example: !string.IsNullOrEmpty(textBox1.Text)
        e.NewValue = e.CurrentValue;
}