通过c#中的颜色代码设置颜色

时间:2010-06-18 10:42:45

标签: c# system.drawing

我正在尝试在c#代码中添加颜色,例如以下颜色代码。

  

ListTreeView.Background = new SolidColorBrush(Colors.White);

这是有用的..但我想将此颜色添加为颜色代码,因此我添加为

  

System.Windows.Media

有人可以给我一个例子吗

  

System.Drawing中

所以我可以做以下事情:

  

ListTreeView.Background = ColorTranslator.FromHtml(“#FFE7EFF2”);

这给了我错误;任何想法?

4 个答案:

答案 0 :(得分:21)

以这种方式获取十六进制字符串中包含alpha的颜色并不容易。

我认为你的答案取决于你从哪里获得颜色和alpha值。

可以从HTML十六进制字符串中单独解析RGB颜色:

Color colour = ColorTranslator.FromHtml("#E7EFF2");

如果您有单独的Alpha值,则可以应用此值(docs):

Color colour = ColorTranslator.FromHtml("#E7EFF2");
Color transparent = Color.FromArgb(128, colour);

或者,您可能需要解析字符串并将其拆分以将十六进制对转换为整数值。

PS借口英文拼写,但颜色肯定应该有'u':)

答案 1 :(得分:7)

ListTreeView不是框架提供的标准Control,因此您必须查阅其文档。但是,一般情况下,您可以使用 System.Drawing.ColorTranslator.FromHtml System.Drawing.Color.FromArgb 。以下是使用TreeView执行此操作的方法:

TreeView t = ...
t.BackgroundColor = Color.FromArgb(0xff00ff00); // Fully opaque, 100% green.
// or:
t.BackgroundColor = ColorTranslator.FromHtml("green");

答案 2 :(得分:2)

我认为你可以使用System.Drawing.ColorTranslator.FromHtml

答案 3 :(得分:0)

使用Color.FromArgb method

顺便说一句,不应该是Treeview.BackColor而是吗?

Grz,Kris。