将Color声明为常量

gdo*_*ica 9 .net c#

如何将Color类型声明为const:

private const Color MyLovedColor = Color.Blue;
Run Code Online (Sandbox Code Playgroud)

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

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

lep*_*pie 10

看一下KnownColor枚举.它可能会满足您的需求.

  • 我用它然后收到Color with Color.FromKnownColor(KnownColor color)http://msdn.microsoft.com/en-us/library/system.drawing.color.fromknowncolor.aspx (2认同)

Ale*_*kin 6

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

const string mycolor = "Blue";
Run Code Online (Sandbox Code Playgroud)

然后,只要您需要颜色,就可以执行向后转换:

Color mynewcolor = Color.FromName(mycolor);
Run Code Online (Sandbox Code Playgroud)

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

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

const int mycolor = 0x00FFFFFF;
Color mynewcolor = Color.FromArgb(mycolor);
Run Code Online (Sandbox Code Playgroud)