如何在属性窗口中显示另一个控件的属性。例如,如果我有
public class MyClass : UserControl
{
public MyClass(){}
public bool Visible{get;set}// Property of MyClass
public MyProperties GridProp {get;set;}// Tried this but does not show the properties
//of MyProperties class
}
public class MyProperties
{
public MyProperties() { }
public bool Visible { get; set; }
public Color Color { get; set; }
}
如何让MyProperties
属性显示MyClass
的属性?
答案 0 :(得分:2)
如果希望属性显示在VS属性窗口中,则必须在qestion中向属性添加一些属性。
public class MyControl : Control
{
public MyControl()
{
MyObject = new MyObject();
}
[Category("MyControl")]
[Description("My Property Description")]
[TypeConverterAttribute(typeof(ExpandableObjectConverter))]
public MyObject MyObject { get; set; }
}
public class MyObject
{
public string MyProperty { get; set; }
}
您必须使用ExpandableObjectConverter Typeconverter来装饰自定义对象,这将在类中显示正确的对象。
有一些属性可以设置显示名称,类别和默认值等内容。更多信息可以在这里找到:http://msdn.microsoft.com/en-us/library/aa302326.aspx