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