【问题标题】:All control's properties disabled in Visual Studio在 Visual Studio 中禁用所有控件的属性
【发布时间】:2016-09-09 15:57:15
【问题描述】:

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

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

【问题讨论】:

  • 在父窗体中定义的控件默认声明为private,因此在子窗体的设计器中不能对其进行编辑。 IIRC,您可以通过使用父表单的设计器将它们更改为 protected 来解决此问题。
  • 我做到了,但它不起作用。孩子的控件属性仍然被禁用。
  • 我自己试过了,它对我有用。您是如何将控件更改为protected 的?你后来建造了吗?
  • 现在可以了!我一直认为保存通常足以让更改生效,我不明白...
  • 设计器视图往往需要重建。我在下面的回答中注意到了这一点。

标签: winforms visual-studio properties disabled-control visual-inheritance


【解决方案1】:

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

要解决此问题,请在设计器中打开基本表单。选择您希望能够修改的控件并将Modifiers 属性更改为Protected

重要提示:进行此更改后,您必须重建基本表单的项目,以便更改显示在继承表单的设计器视图中。

【讨论】:

  • 非常感谢 BJ Myers!
  • 这个我快疯了!我知道我必须更改修改器,甚至让它工作一次。但无法重现。这是你提到的最后一个“重要”步骤,我错过了。有道理,回想起来。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多