15

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

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

这是工作..但我想将此颜色添加为颜色代码,所以我添加为

系统.Windows.媒体

有人可以给我一个例子吗

系统绘图

所以我可以做以下事情:

ListTreeView.Background = ColorTranslator.FromHtml("#FFE7EFF2");

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

4

4 回答 4

21

没有一种简单的方法可以通过这种方式从十六进制字符串中获取包含 alpha 的颜色。

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

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

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

如果您有单独的 alpha 值,则可以应用此值(文档):

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

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

PS原谅英文拼写,但颜色绝对应该有一个'u' :)

于 2010-06-18T11:02:51.620 回答
7

ListTreeView不是Control框架提供的标准,因此您必须查阅他们的文档。不过,一般来说,您可以使用System.Drawing.ColorTranslator.FromHtmlor System.Drawing.Color.FromArgb。下面是使用 TreeView 的方法:

TreeView t = ...
t.BackgroundColor = Color.FromArgb(0xff00ff00); // Fully opaque, 100% green.
// or:
t.BackgroundColor = ColorTranslator.FromHtml("green");
于 2010-06-18T10:51:20.020 回答
2

我想你可以使用System.Drawing.ColorTranslator.FromHtml.

于 2010-06-18T10:47:44.377 回答
0

使用Color.FromArgb 方法

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

格兹,克里斯。

于 2010-06-18T10:47:33.243 回答