将Color声明为常量

时间:2011-11-29 11:26:37

标签: c# .net

如何将Color类型声明为const,如下所示:

private const Color MyLovedColor = Color.Blue;

这不起作用,因为Color.Blue是静态而不是const。

(readonly不会帮助我,因为我需要一个“仅支持”常量的属性的颜色

5 个答案:

答案 0 :(得分:9)

查看KnownColor枚举。它可能会满足您的需求。

答案 1 :(得分:6)

您只能为const指定一个文字值。在您的情况下,我会更喜欢字符串文字并定义您的颜色如下:

const string mycolor = "Blue";

然后,无论您需要何种颜色,都可以执行向后转换:

Color mynewcolor = Color.FromName(mycolor);

对不起,但这是保持const的唯一方法。

编辑:您也可以将颜色保存为(A)RGB属性,存储在单个int值中。请注意,您可以使用十六进制文字来显式设置颜色的不同组件(在ARGB序列中):

const int mycolor = 0x00FFFFFF;
Color mynewcolor = Color.FromArgb(mycolor);

答案 2 :(得分:4)

System.Drawing.Color是一个struct,这意味着你不能拥有它的常数值。

答案 3 :(得分:3)

private static readonly Color MyLovedColor = Color.Blue;

我感谢你能找到最接近的人吗?

答案 4 :(得分:0)

如果您使用RGB函数返回的long值作为常量怎么办?

例如,浅蓝色AccButt返回的值为RGB(51,255,255)

如此

16777011
相关问题