如何以编程方式在Web窗体上的TextBox中设置BackColor?

时间:2013-03-28 18:58:18

标签: c# asp.net webforms

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

我可以使用命名颜色执行此操作,如:

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

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

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

这是怎么做到的?

3 个答案:

答案 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的答案更简洁,我的目标是什么。