将Color声明为常量

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

 private const Color MyLovedColor = Color.Blue; 

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

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

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

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

 const string mycolor = "Blue"; 

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

 Color mynewcolor = Color.FromName(mycolor); 

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

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

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

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

 private static readonly Color MyLovedColor = Color.Blue; 

我感谢你最接近的?