C# 字符串颜色名称到字符串颜色十六进制值(C)#

C# 字符串颜色名称到字符串颜色十六进制值(C)#,c#,colors,C#,Colors,我正在尝试获取作为字符串传递的颜色的十六进制值。比如说, private string HexColor(string colorName) // like "Red" { // returns hex value like "12345" } 我得到了将Windows.UI.Color转换为十六进制值的链接。但对于字符串颜色名称,不能使用十六进制值。 提前感谢你的帮助 更新:对于metro应用程序,使用预定义颜色的指定名称创建颜色结构,然后: ToString(“X8”)将十六进制值创建

我正在尝试获取作为字符串传递的颜色的十六进制值。比如说,

private string HexColor(string colorName) // like "Red"
{

 // returns hex value like "12345"
}
我得到了将Windows.UI.Color转换为十六进制值的链接。但对于字符串颜色名称,不能使用十六进制值。 提前感谢你的帮助

更新:对于metro应用程序,使用预定义颜色的指定名称创建颜色结构,然后:


ToString(“X8”)
将十六进制值创建为整数类型的字符串。

您可以使用此函数

Color c = Color.Red;
string hex = c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2");
private string ConvertColorStringToHex(string colorString){
return Color.FromName(colorString).ToArgb().ToString("X8").Substring(2,6);
}

Metro、WPF或Winforms?我认为您需要:
private string ConvertColorStringToHex(string colorString){
return Color.FromName(colorString).ToArgb().ToString("X8").Substring(2,6);
}