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(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() + ")";
}
于 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 に答える