我想在运行时以编程方式设置Web表单的背景颜色(因此用户可以选择他或她喜欢的颜色)。
我可以使用命名颜色执行此操作,如:
txt1.BackColor = System.Drawing.Color.PeachPuff;
但我很难弄清楚如何使用RGB值设置颜色,如:
txt1.BackColor = SomeConverter("#FEC200");
这是怎么做到的?
答案 0 :(得分:4)
txt1.BackColor = System.Drawing.ColorTranslator.FromHtml("#FEC200");
答案 1 :(得分:3)
使用此
txt1.BackColor = System.Drawing.ColorTranslator.FromHtml("#FEC200");
另外,如果你想将System.Drawing.Color
转换回字符串(保存在db中),请执行以下操作:
private static String ConvertToHex(System.Drawing.Color color)
{
return "#" + color.R.ToString("X2") + color.G.ToString("X2") + color.B.ToString("X2");
}
private static String ConvertToRGB(System.Drawing.Color color)
{
return "RGB(" + color.R.ToString() + "," + color.G.ToString() + "," + color.B.ToString() + ")";
}
答案 2 :(得分:0)
@ Hossein-Narimani-Rad还有另一个答案,他删除了说使用ColorConverter.ConvertFromString。我试了一下,让它像这样工作:
System.Drawing.ColorConverter conv = new System.Drawing.ColorConverter();
txt1.BackColor = (System.Drawing.Color)conv.ConvertFromString("#FEC200");
但@Win和@Manish-Mishra的答案更简洁,我的目标是什么。