15

カラーダイアログで設定されたカスタムカラーは、次のコードを使用して{Blue、Blue}に設定されることになっています。

colorDialog1.CustomColors = new int[] { System.Drawing.Color.Blue.ToArgb(), 0xFF0000 };
colorDialog1.ShowDialog();

しかし、私は別のセット{黒、青}を取得しています:

ここに画像の説明を入力してください

私がここで間違っていることは何ですか?ありがとう。

4

3 に答える 3

23

OLE カラーを使用する必要があります。これを実現する最も簡単な方法は、組み込みColorTranslatorオブジェクトを使用することです。

colorDialog1.CustomColors = new int[] { 
                                        ColorTranslator.ToOle(Color.Blue), 
                                        ColorTranslator.ToOle(Color.Red)
                                      };
colorDialog1.ShowDialog(); 

HTML の色から変換する必要がある場合は、ColorTranslator.FromHtmlメソッドを使用することもできます。

colorDialog1.CustomColors = new int[]
                                {
                                    ColorTranslator.ToOle(Color.Blue), 
                                    ColorTranslator.ToOle(ColorTranslator.FromHtml("#FF0000"))
                                };
于 2012-07-18T17:51:08.783 に答える
0

ColorTranslator FromArgb を使用すると、RGB カラーを適切な順序に保つことができます。たとえば、ColorTranslator.ToOle(Color.FromArgb(255, 0, 0)) は赤です。これを使用して、名前のない色を設定することもできます。たとえば、真っ赤な ColorTranslator.ToOle(Color.FromArgb(255, 31, 33)),.

于 2015-03-09T19:25:58.173 に答える