如何将Color
类型声明为const
,如下所示:
private const Color MyLovedColor = Color.Blue;
这不起作用,因为Color.Blue是静态而不是const。
(readonly不会帮助我,因为我需要一个“仅支持”常量的属性的颜色
答案 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