C# 自定义控件(显示其他对象的属性)
如何获取另一个控件的属性以显示在“属性”窗口中。例如,如果我有C# 自定义控件(显示其他对象的属性),c#,visual-studio-2010,visual-c#-express-2010,C#,Visual Studio 2010,Visual C# Express 2010,如何获取另一个控件的属性以显示在“属性”窗口中。例如,如果我有 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
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
的属性一起显示?如果希望属性显示在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装饰自定义对象,这将显示类中的属性
有一些属性可以设置displayname、category和默认值等。更多信息可以在这里找到:它是否声明为
publicMyProperties{get;set;}
,因为它不会编译?它需要通过public MyProperties MyProperties{get;set;}
。很抱歉,这是一个打字错误。我纠正了它。它应该是公共myProperties GridProp{get;set;}