Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使listview中的复选框只读c#?_C#_Winforms_Listview_Checkbox - Fatal编程技术网

如何使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本身上的复选框?