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

Jit*_*dav 15 c# system.drawing

我试图在c#代码中添加颜色,例如以下颜色代码.

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

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

System.Windows.Media

有人可以给我一个例子

System.Drawing中

所以我可以做到以下几点:

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

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

Kei*_*ith 21

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

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

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

Color colour = ColorTranslator.FromHtml("#E7EFF2");
Run Code Online (Sandbox Code Playgroud)

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

Color colour = ColorTranslator.FromHtml("#E7EFF2");
Color transparent = Color.FromArgb(128, colour);
Run Code Online (Sandbox Code Playgroud)

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

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

  • 你有问题吗? (4认同)

Joh*_*lla 7

ListTreeView不是Control框架提供的标准,因此您必须查阅他们的文档.但一般来说,你可以使用System.Drawing.ColorTranslator.FromHtmlSystem.Drawing.Color.FromArgb.以下是使用TreeView执行此操作的方法:

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