C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: ColorDialog.CustomColorsの設定


(過去ログ 87 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■51921 / inTopicNo.1)  ColorDialog.CustomColorsの設定
  
□投稿者/ じいおい (7回)-(2010/07/26(Mon) 15:58:01)

分類:[.NET 全般] 

いつもお世話になっております。
上記表題について教えていただけるとありがたいです。

Using cd As New ColorDialog()
 cd.CustomColors=New Integer(){Color.Aqua.ToArgb(),Color.FromName("Aqua").ToArgb()}
 cd.ShowDialog()
End Using

としても、いずれもBlackになってしまいます。

引用返信 編集キー/
■51926 / inTopicNo.2)  Re[1]: ColorDialog.CustomColorsの設定
□投稿者/ 中博俊 (1432回)-(2010/07/26(Mon) 16:59:50)
MSDN
カスタム カラーは、 AllowFullOpen が true に設定されている場合にだけ定義できます。 
+
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=14475&forum=7

でこんな感じでOKでした

			using ( var cd = new ColorDialog())

			{
				cd.AllowFullOpen = true;
				cd.CustomColors = new int[] { ColorTranslator.ToWin32(Color.Red) , ColorTranslator.ToWin32(Color.Aqua)} ;
				cd.ShowDialog();
			}
		}

引用返信 編集キー/
■51927 / inTopicNo.3)  Re[1]: ColorDialog.CustomColorsの設定
□投稿者/ 魔界の仮面弁士 (1719回)-(2010/07/26(Mon) 17:07:43)
No51921 (じいおい さん) に返信
> cd.CustomColors=New Integer(){Color.Aqua.ToArgb(),Color.FromName("Aqua").ToArgb()}
ここに指定する値は、ARGB ではなく、Windows カラー(≒ BGR 値)です。

> としても、いずれもBlackになってしまいます。
Color.ToArgb メソッドではなく、ColorTranslator.ToWin32 メソッドを試してみてください。

SystemColors に対して変換してみると、ARGB ではない理由がわかるかも。
引用返信 編集キー/
■51937 / inTopicNo.4)  Re[2]: ColorDialog.CustomColorsの設定
□投稿者/ じいおい (9回)-(2010/07/26(Mon) 22:56:07)
中様、魔界の仮面弁士様ありがとうございます。

システムカラーには、透明度が無いということですね。
大変良く分かりました。
いつも適切な回答で助かります。どうもありがとうございました。


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -