Winforms 奇怪的叠加图标Visual Studio

Winforms 奇怪的叠加图标Visual Studio,winforms,visual-studio,Winforms,Visual Studio,我从codeproject下载了一个项目,当时正在玩它。当我注意到这些覆盖图标时,我更像是一个asp.net开发人员……标签上的锁定图标非常有趣,因为当我右键单击控件时,控件被解锁,但所有属性都变灰。当我添加一个新标签时,当我选择它时,我没有那个锁定图标。这是什么?另外,突出显示的其他8个控件的双框图标是什么?通常这意味着这些控件是在基本控件中定义的,因此您无法在派生控件中更改它们,因此它们都被锁定。Winforms designer会观察标准的.NET辅助功能关键字。控件的Modifiers关

我从codeproject下载了一个项目,当时正在玩它。当我注意到这些覆盖图标时,我更像是一个asp.net开发人员……标签上的锁定图标非常有趣,因为当我右键单击控件时,控件被解锁,但所有属性都变灰。当我添加一个新标签时,当我选择它时,我没有那个锁定图标。这是什么?另外,突出显示的其他8个控件的双框图标是什么?

通常这意味着这些控件是在基本控件中定义的,因此您无法在派生控件中更改它们,因此它们都被锁定。

Winforms designer会观察标准的.NET辅助功能关键字。控件的Modifiers关键字在这里很重要。为成员变量设置access关键字的。C项目的默认值是private,而VB.NET项目的默认值是Friend。VB.NET对此更友好


当您从基本表单、Project+添加新项、Windows表单节点、继承的表单项模板派生表单时,这一点很重要。派生窗体将具有基础窗体的控件,但如果其Modifiers属性为Private,则无法更改这些控件。设计师通过显示锁定图标使其变得明显。通过以灰色文本显示控件的属性。

我从未见过闪烁的方框图标,因此我不会将其作为答案,但当我看到锁图标和行为时,通常意味着该窗体从另一个窗体继承,并且该控件来自该窗体,所以你应该在那里编辑它。也许CodeProject上项目的创建者可以给你一些关于这个问题的更深入的见解谢谢…我不熟悉继承的表单!我在基类中添加了一个字段,当我构建项目时,它将该字段添加到所有继承的表单中。非常感谢@neminen!我怎样才能删除它?我已经将基本形式修改器更改为public,但是我仍然得到高亮显示的上方框图标