Установить цвет через цветовой код в С#
Я пытаюсь добавить цвет в код С# со следующим цветовым кодом, например.
ListTreeView.Background = новый SolidColorBrush (Colors.White);
Это работает... но я хочу добавить этот цвет в качестве цветового кода, поэтому добавляю его как
System.Windows.Media
Может ли кто-нибудь дать мне пример с
System.Drawing
Так что я могу сделать следующее:
ListTreeView.Background = ColorTranslator.FromHtml( "# FFE7EFF2" );
Это дает мне ошибку; Любые идеи?
Ответы
Ответ 1
Нет простого способа получить цвет с альфами, включенными в шестнадцатеричную строку таким образом.
Я думаю, что ваш ответ зависит от того, откуда вы получаете цветные и альфа-значения.
Только цвет RGB может быть проанализирован из шестнадцатеричной строки HTML:
Color colour = ColorTranslator.FromHtml("#E7EFF2");
Если у вас есть отдельное альфа-значение, вы можете применить это (docs):
Color colour = ColorTranslator.FromHtml("#E7EFF2");
Color transparent = Color.FromArgb(128, colour);
В качестве альтернативы вам может понадобиться проанализировать строку и разделить ее, чтобы преобразовать шестнадцатеричные пары в целые значения.
PS оправдывает английское правописание, но цвет должен обязательно иметь "u" в нем:)
Ответ 2
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");
Ответ 3
Я думаю, вы могли бы использовать System.Drawing.ColorTranslator.FromHtml
.
Ответ 4
Используйте Color.FromArgb method.
Btw, не стоит ли Treeview.BackColor вместо этого?
Grz, Kris.