繁体   English   中英

C#自定义控件默认值属性

[英]C# custom control default value property

我有以下问题:

我建立了具有各种属性的custzom控件。 为了简化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”,但不适用于RGB“ 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;
        }

    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM