C# 将类用作另一个类中的属性
我有一个小类,它有两个属性C# 将类用作另一个类中的属性,c#,winforms,C#,Winforms,我有一个小类,它有两个属性 public class ColorPair { #region Miembros private Color _BackColor; private Color _ForeColor; #endregion #region Auxiliares [Browsable(true)] [Category("Color pair")] [Description("Back color")] [DefaultValue
public class ColorPair
{
#region Miembros
private Color _BackColor;
private Color _ForeColor;
#endregion
#region Auxiliares
[Browsable(true)]
[Category("Color pair")]
[Description("Back color")]
[DefaultValue(typeof(Color), "White")]
public Color BackColor
{
get { return _BackColor; }
set{ _BackColor = value; }
}
[Browsable(true)]
[Category("Color pair")]
[Description("Fore color")]
[DefaultValue(typeof(Color), "White")]
public Color ForeColor
{
get { return _ForeColor; }
set
{
_ForeColor = value;
}
}
#endregion
public ColorPair()
{
_BackColor = Color.White;
_ForeColor = Color.Black;
}
public ColorPair(Color pFore, Color pBack)
{
_BackColor = pFore;
_ForeColor = pBack;
}
}
我需要将其用作控件中的属性,如下所示:
[Browsable(true)]
[Category("Trevo format")]
[Description("Basic color")]
[DefaultValue(typeof(ColorPair), "new ColorPair()")]
public ColorPair Normal
{
get { return _Normal; }
set
{
_Normal = value;
this.Invalidate();
}
}
但是,当我转到设计器时,该属性似乎已禁用。是否有任何方法使其能够收集值
谢谢。在回答您的问题时-是的,有一种方法可以使其能够收集值,但它需要编写一个客户属性编辑器(它将继承自
UITypeEditor
)
创建后,可以使用
EditorAttribute
将其附加到属性。默认情况下,设计师不知道如何显示界面供您输入这些内容……您可以使用CustomType提供程序(现在不记得确切的名称);为了简化,您不能显示两个不同的属性吗?