我知道如何使用诸如Label1.BackColor = Color.LightSteelBlue之类的语句将C#中的控件的BackColor动态设置为命名颜色; (使用System.Drawing;)
但是如何将十六进制值转换为System.Color,即Label1.BackColor =“#B5C7DE
答案 0 :(得分:9)
我会使用颜色转换器:
var color = ColorTranslator.FromHtml("#FF1133");
希望这有帮助。
答案 1 :(得分:7)
string hexColor = "#B5C7DE";
Color color = ColorTranslator.FromHtml(hexColor);
答案 2 :(得分:0)
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,则此函数只返回默认值。如果你宁愿自己处理异常,你可以让异常通过。
答案 3 :(得分:0)
您可以使用Color.FromArgb方法:
Label1.BackColor = Color.FromArgb(0xB5C7DE);