カラーコードを16進数表示する

C#でカラーの値をRGBカラーコードを表示するサンプル。

このサンプルでは以下の処理を行う。
1.「色の設定」ダイアログを表示。
2.設定した色を使用し、ボタン背景色を変更
3.ボタンの文字色を、背景色の反転カラーに変更
4.設定した色をRGBカラー(16進数6桁の文字列)として表示

GUIデザインでは、Formにbutton1という名前のボタンを貼り付ける。
カラー変更 デザイン


ソースコードは以下の通り。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
	public partial class Form1 : Form
	{
		public Form1()
		{
			InitializeComponent();
		}

		private void button1_Click(object sender, EventArgs e)
		{
			// [色の設定]ダイアログを表示
			ColorDialog colorDialog1 = new ColorDialog();
			if (colorDialog1.ShowDialog() == DialogResult.OK)
			{
				// 色を取得
				System.Drawing.Color col = colorDialog1.Color;
				// ボタンの背景色を選択したカラーに変更
				button1.BackColor = col;
				// ボタンの文字を反転カラーに変更(RGBをそれぞれ反転)
				button1.ForeColor =
				Color.FromArgb(0xFF - col.R, 0xFF - col.G, 0xFF - col.B);
				// 色を数値から、16進数の文字列として表現させる
				string strColor = "#" +
				col.R.ToString("X2") +  // Red(赤)  を16進数2桁表示
				col.G.ToString("X2") +  // Green(緑)を16進数2桁表示
				col.B.ToString("X2");   // Blue(青) を16進数2桁表示
				button1.Text = strColor;
			}
		}
	}
}

実行後、ボタンをクリックし、「色の変更」ダイアログ表示。
カラー変更 色の変更

すると、選択した色がボタン背景色として反映。
テキストも反転カラーで表示。
カラー変更 実行


Tagged:

Leave a comment

メールアドレスが公開されることはありません。

CAPTCHA


*