Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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
C# 禁用groupbox并保持上下文菜单处于启用状态_C#_Winforms_Contextmenu_Groupbox - Fatal编程技术网

C# 禁用groupbox并保持上下文菜单处于启用状态

C# 禁用groupbox并保持上下文菜单处于启用状态,c#,winforms,contextmenu,groupbox,C#,Winforms,Contextmenu,Groupbox,我正在将一个遗留的VB应用程序移植到C#/Winforms。虽然绝大多数用户界面都是完整的,但我有一个问题,经过一些挖掘之后,我还无法解决。我的表单包含一组组完全相同的组框(除了一些标识符,例如组框名称),每个组框包含几个控件。我有一个弹出的上下文菜单,允许我打开子窗体,允许我更改一些设置等。每个组框代表一个物理对象,可以禁用。禁用组框时,该框的所有子对象都将被禁用或不可见。禁用组框时,关联条菜单也会更改,以便关联菜单上的某些菜单项被禁用,然后“已启用”菜单选择在选中和未选中之间切换,显示当前状

我正在将一个遗留的VB应用程序移植到C#/Winforms。虽然绝大多数用户界面都是完整的,但我有一个问题,经过一些挖掘之后,我还无法解决。我的表单包含一组组完全相同的组框(除了一些标识符,例如组框名称),每个组框包含几个控件。我有一个弹出的上下文菜单,允许我打开子窗体,允许我更改一些设置等。每个组框代表一个物理对象,可以禁用。禁用组框时,该框的所有子对象都将被禁用或不可见。禁用组框时,关联条菜单也会更改,以便关联菜单上的某些菜单项被禁用,然后“已启用”菜单选择在选中和未选中之间切换,显示当前状态。问题是,当我禁用其中一个组框时,该框被禁用,但当我单击组框时,上下文菜单不再打开。这并不奇怪,但我正试图找出如何禁用组框,同时始终保持上下文菜单处于启用状态。我需要能够禁用一个或多个这些组框;事情是这样的,一旦我禁用了一个组框,我就无法再次启用它,因为上下文菜单不再触发

旧的VB代码能够做到这一点,但如何做到这一点还不是很清楚,代码或多或少是一团糟,我宁愿不花时间进行逆向工程


谢谢你对我如何做到这一点的建议。我想一个解决办法可能是只让组框中的所有控件不可见,然后将组框的颜色更改为“显示”禁用。

我通过隐藏所有控件并更改框的颜色使其显示为禁用来解决这个问题。

没有人会在没有代码的情况下阅读这组文本,你应该编辑你的问题,提供代码,并且更加具体。