Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将类用作另一个类中的属性_C#_Winforms - Fatal编程技术网

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提供程序(现在不记得确切的名称);为了简化,您不能显示两个不同的属性吗?