web-dev-qa-db-ja.com

C#のカラーコードで色を設定する

私はc#コードで色を追加しようとしています。たとえば、次の色コードを使用します。

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

これは機能していますが、この色をカラーコードとして追加したいので、

System.Windows.Media

誰かが私に例を挙げてもらえますか

System.Drawing

だから私は次のことができます:

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

これは私にエラーを与えます。何か案は?

15
Jitendra Jadav

この方法で16進数文字列からアルファを含む色を取得する簡単な方法はありません。

あなたの答えは、カラーとアルファ値をどこから取得しているかに依存すると思います。

RGBカラーのみをHTMLの16進文字列から解析できます。

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

別のアルファ値がある場合は、これを適用できます( docs ):

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

または、文字列を解析して分割し、16進数のペアを整数値に変換する必要がある場合もあります。

PSは英語のスペルを許しませんが、色には間違いなく 'u'が含まれている必要があります:)

21
Keith

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");
7
John Feminella

System.Drawing.ColorTranslator.FromHtml

2
Hans Olsson

Color.FromArgbメソッド を使用します。

ところで、代わりに Treeview.BackColor にすべきではありませんか?

Grz、クリス。

0