我有以下问题:
我已经构建了一个具有各种属性的自定义控件。为了更简单的 ui 设计,我想为我的属性添加默认值。这适用于对象,但不适用于颜色。
这是我的财产:
[Browsable(true)]
[Category("Custom Colors")]
[Description("Gets or sets the line color if not focused.")]
//[DefaultValue(typeof(Color), "61, 81, 181")]
//[DefaultValue(typeof(Color), "31, 0, 0, 0")]
public Color LineColor
{
get { return _lineColor; }
set { _lineColor = value; }
}
具有三个 RGB 值“61、81、181”的方法工作正常。但是如何使用四个 ARGB 值(如 "31, 0, 0, 0" )获得相同的结果?
我尝试使用十六进制字符串。这也适用于 RGB“0x3d51b5”,但不适用于 ARGB“0x1f000000”或“0x0000001f”。
您可以使用默认颜色初始化 _lineColor,将 LineColor 上的默认值设为 _linecolor:
private Color _lineColor = Color.FromArgb(50, 200, 0, 100);
public Color LineColor
{
get { return _lineColor; }
set {
_lineColor = value == Color.Empty ? Color.FromArgb(50, 200, 0, 100): value;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句