如何使属性字段显示在 VS 属性网格中,而不是自定义属性网格中?

时间:2021-07-08 15:28:53

标签: c# visual-studio winforms

我制作了一个派生自 Panel 的自定义控件,其中有一些属性,比如

public int Amount {get; set;}
public string Name {get; set;}

如何让它出现在 Visual Studio 的属性网格中,而不是出现在我拖入的 PropertyGrid 控件中?

我在网上能找到的一切都在谈论如何向PropertyGrid“控件”添加属性,这不是我想要的。

有人能这么好心教我怎么做吗?

非常感谢!

enter image description here

1 个答案:

答案 0 :(得分:0)

根据@Jimi 的说法,自定义控件需要“预编译”,然后它们的属性才会显示在属性网格中,因此首先删除每个自定义控件,重建项目,然后拖入自定义控件将使所有内容都显示得很好.

但我在尝试@Jimi的方法时也找到了另一个解决方案,即:

在自定义控件中添加新属性后,手动将默认值添加到设计器的页面中,例如Form1.Designer.cs,例如。

CustomControl.Number = 0;

然后它将显示在属性网格中。

我猜 VS “DID” 试图在属性网格中显示它,但由于该属性尚未实例化,VS 不知道它到底是什么,最终要么抛出错误,要么只是忽略它一共!

这就是为什么预编译它或手动添加默认值会起作用的原因。