我制作了一个派生自 Panel
的自定义控件,其中有一些属性,比如
public int Amount {get; set;}
public string Name {get; set;}
如何让它出现在 Visual Studio 的属性网格中,而不是出现在我拖入的 PropertyGrid
控件中?
我在网上能找到的一切都在谈论如何向PropertyGrid
“控件”添加属性,这不是我想要的。
有人能这么好心教我怎么做吗?
非常感谢!
答案 0 :(得分:0)
根据@Jimi 的说法,自定义控件需要“预编译”,然后它们的属性才会显示在属性网格中,因此首先删除每个自定义控件,重建项目,然后拖入自定义控件将使所有内容都显示得很好.
但我在尝试@Jimi的方法时也找到了另一个解决方案,即:
在自定义控件中添加新属性后,手动将默认值添加到设计器的页面中,例如Form1.Designer.cs
,例如。
CustomControl.Number = 0;
然后它将显示在属性网格中。
我猜 VS “DID” 试图在属性网格中显示它,但由于该属性尚未实例化,VS 不知道它到底是什么,最终要么抛出错误,要么只是忽略它一共!
这就是为什么预编译它或手动添加默认值会起作用的原因。