如何使listview中的复选框只读c#?
当我将如何使listview中的复选框只读c#?,c#,winforms,listview,checkbox,C#,Winforms,Listview,Checkbox,当我将ListView.Enabled属性设置为false时,滚动条将不起作用 我想要的是,当用户决定添加产品时,复选框将正常工作,就像它在列表视图上的滚动条一样,但当用户想要查看产品时,它可以在列表视图上滚动,但它不会让用户选中或取消选中复选框。请帮帮我 当我添加产品时,我可以滚动并选中复选框 正常: 查看产品时,我无法向下滚动,也无法选中复选框(灰显): 您可以通过ItemCheck事件轻松实现这一点。假设表单类中有一个bool变量,该变量指示ListView处于“仅查看”模式: 然后像这样
ListView.Enabled
属性设置为false
时,滚动条将不起作用
我想要的是,当用户决定添加产品时,复选框将正常工作,就像它在列表视图
上的滚动条一样,但当用户想要查看产品时,它可以在列表视图
上滚动,但它不会让用户选中或取消选中复选框。请帮帮我
当我添加产品时,我可以滚动并选中复选框
正常:
查看产品时,我无法向下滚动,也无法选中复选框(灰显):
您可以通过ItemCheck事件轻松实现这一点。假设表单类中有一个bool变量,该变量指示ListView处于“仅查看”模式: 然后像这样编写ItemCheck事件处理程序:
private void listViewProduct_ItemCheck(object sender, ItemCheckEventArgs e) {
if (ViewReadOnly) e.NewValue = e.CurrentValue;
}
当UI切换到“仅查看”模式时,只需将变量设置为true,当切换到编辑模式时,将变量设置为false。因此:
private void viewProduct_Click(object sender, EventArgs e) {
ViewReadOnly = true;
listViewProduct.BackColor = Color.Gainsboro;
}
等等。不要吝啬于背景颜色的更改,或任何其他您喜欢的指示,您希望向用户提供一些反馈,说明点击复选框不会产生任何效果。您可以通过ItemCheck事件轻松实现这一点。假设表单类中有一个bool变量,该变量指示ListView处于“仅查看”模式: 然后像这样编写ItemCheck事件处理程序:
private void listViewProduct_ItemCheck(object sender, ItemCheckEventArgs e) {
if (ViewReadOnly) e.NewValue = e.CurrentValue;
}
当UI切换到“仅查看”模式时,只需将变量设置为true,当切换到编辑模式时,将变量设置为false。因此:
private void viewProduct_Click(object sender, EventArgs e) {
ViewReadOnly = true;
listViewProduct.BackColor = Color.Gainsboro;
}
等等。不要吝啬于背景颜色的更改,或任何其他您喜欢的指示,您希望给用户一些反馈,说明点击复选框不会产生任何效果。在只读模式下,您肯定可以使用set Checkboxed to
false
listView1.CheckBoxes = false;
这样他们就看不到他们了。而且它避免了用户的困惑(如果我在控件上看到复选框,那么我通常希望我能用它做些什么) 在只读模式下,您肯定可以使用set Checkboxed设置为
false
listView1.CheckBoxes = false;
这样他们就看不到他们了。而且它避免了用户的困惑(如果我在控件上看到复选框,那么我通常希望我能用它做些什么) 这是Winforms还是WPF?您是否可以添加更详细地描述您的问题的代码,或者添加一些显示您所遇到问题的程序屏幕截图?您是否尝试过在复选框上设置
enabled=false
?这是Winforms中的?抱歉,请不要拒绝:(我如何控制listview本身上的复选框?这是Winforms还是WPF?您是否可以添加更详细地描述您的问题的代码,或者添加一些显示您所遇到问题的程序屏幕截图?您是否尝试过在复选框上设置enabled=false
?这是Winforms中的问题抱歉,请不要使用。)o拇指朝下。:(如何控制listview本身上的复选框?