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