我知道如何使用诸如Label1.BackColor = Color.LightSteelBlue;(使用System.Drawing;)这样的语句在C#中将控件的BackColor动态设置为命名颜色。
但是如何将十六进制值转换为System.Color,例如Label1.BackColor = "#B5C7DE
发布于 2009-06-24 12:23:17
我会这样使用颜色翻译器:
var color = ColorTranslator.FromHtml("#FF1133");希望这能有所帮助。
发布于 2009-06-24 12:21:14
string hexColor = "#B5C7DE";
Color color = ColorTranslator.FromHtml(hexColor);发布于 2009-06-24 12:20:44
Color.FromArgb(0xB5C7DE);或者,如果您想要解析字符串
private Color ParseColor(string s, Color defaultColor)
{
try
{
ColorConverter cc = new ColorConverter();
Color c = (Color)(cc.ConvertFromString(s));
if (c != null)
{
return c;
}
}
catch (Exception)
{
}
return defaultColor;
}如果这个函数不能解析s,它只返回默认值。如果你更愿意自己处理异常,你可以让异常通过。
https://stackoverflow.com/questions/1038014
复制相似问题