カラーコードを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;
            }
        }
    }
}

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

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

← ブログ一覧へ戻る