Winforms 所有控件';在Visual Studio中禁用的属性

Winforms 所有控件';在Visual Studio中禁用的属性,winforms,visual-studio,properties,disabled-control,visual-inheritance,Winforms,Visual Studio,Properties,Disabled Control,Visual Inheritance,我有一个父窗体和一个子窗体继承自前者。在设计模式下,将禁用所有继承控件的属性。如何在子窗体中更改这些属性 这是设计师的截图。请注意,我是如何选择一个文本框的,并且它的所有属性都被禁用(灰显)。默认情况下,Windows窗体设计器使用privateaccess修饰符创建组件。这意味着继承表单将呈现控件,但不能修改它们 要解决此问题,请在设计器中打开基础窗体。选择要修改的控件,并将修改器属性更改为受保护 重要:此更改后,您必须重新生成基础窗体的项目,以便更改显示在继承窗体的设计器视图中。默认情况下

我有一个父窗体和一个子窗体继承自前者。在设计模式下,将禁用所有继承控件的属性。如何在子窗体中更改这些属性


这是设计师的截图。请注意,我是如何选择一个文本框的,并且它的所有属性都被禁用(灰显)。

默认情况下,Windows窗体设计器使用
private
access修饰符创建组件。这意味着继承表单将呈现控件,但不能修改它们

要解决此问题,请在设计器中打开基础窗体。选择要修改的控件,并将
修改器
属性更改为
受保护


重要:此更改后,您必须重新生成基础窗体的项目,以便更改显示在继承窗体的设计器视图中。

默认情况下,父窗体中定义的控件声明为
私有
,因此无法在子窗体的设计器中编辑它们。IIRC您可以通过使用父窗体的设计器将它们更改为
受保护的
来修复此问题。我这样做了,但它不起作用。孩子的控件属性仍处于禁用状态。我自己刚刚尝试过,它对我有效。您是如何将控件更改为受保护的?你后来建造了吗?现在它可以工作了!我一直认为保存通常足以使更改生效,我不理解…设计器视图往往需要重新生成。我在下面的回答中注意到了这一点。非常感谢BJ Myers!我都快疯了!我知道我必须改变修改器,甚至让它工作一次。但无法复制它。这是你提到的我错过的最后一个“重要”步骤。回想起来,这是有道理的。谢谢