我想在运行时以编程方式设置 Web 表单的背景色(以便用户可以选择他或她喜欢的颜色)。
我可以使用命名颜色来做到这一点,如:
txt1.BackColor = System.Drawing.Color.PeachPuff;
但我很难弄清楚如何使用 RGB 值设置颜色,如下所示:
txt1.BackColor = SomeConverter("#FEC200");
这是怎么做到的?
txt1.BackColor = System.Drawing.ColorTranslator.FromHtml("#FEC200");
用这个
txt1.BackColor = System.Drawing.ColorTranslator.FromHtml("#FEC200");
另外,如果您想将其转换System.Drawing.Color
回字符串(保存在数据库中),请执行以下操作:
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() + ")";
}
@Hossein-Narimani-Rad 删除了另一个答案,说要使用 ColorConverter.ConvertFromString。我试过了,让它像这样工作:
System.Drawing.ColorConverter conv = new System.Drawing.ColorConverter();
txt1.BackColor = (System.Drawing.Color)conv.ConvertFromString("#FEC200");
但是@Win 和@Manish-Mishra 的答案更简洁,而且我要做什么。