2

我想在运行时以编程方式设置 Web 表单的背景色(以便用户可以选择他或她喜欢的颜色)。

我可以使用命名颜色来做到这一点,如:

txt1.BackColor = System.Drawing.Color.PeachPuff;

但我很难弄清楚如何使用 RGB 值设置颜色,如下所示:

txt1.BackColor = SomeConverter("#FEC200");

这是怎么做到的?

4

3 回答 3

4
txt1.BackColor = System.Drawing.ColorTranslator.FromHtml("#FEC200");
于 2013-03-28T19:01:52.880 回答
3

用这个

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() + ")";
}
于 2013-03-28T19:02:58.730 回答
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 的答案更简洁,而且我要做什么。

于 2013-03-28T19:11:39.277 回答