Color Dialog

ColorDialog で TextBox の背景色を選択します。
CommonDialog は Windows Program で使用する汎用的な DialogBox のAPIです。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの設定

  1. 空のプロジェクトを作成して、プログラムファイルをプロジェクトに取り込んで下さい。
    詳細は Form を作成する を参照して下さい。
    ファイル名 説明
    Color.cs TextBox の背景色を選択
  2. ソースコード(Color.cs)です。
    不要な行は削除して整理して下さい。
    /*********************************************************/
    /*★ ColorDialog で TextBox の背景色を選択     前田 稔 ★*/
    /*********************************************************/
    using System;
    using System.Drawing;
    using System.Windows.Forms;
    
    public class MyForm : Form
    {
        TextBox textBox1;
    
        public MyForm()
        {
            // textBox1 を設定
            textBox1 = new TextBox();
            textBox1.Parent = this;
            textBox1.Location = new System.Drawing.Point(40, 80);
            textBox1.Name = "textBox1";
            textBox1.Size = new System.Drawing.Size(160, 20);
            textBox1.Text = "TextBox BackColor";
    
            // ColorDialog のインスタンスを生成
            ColorDialog colorDialog1 = new ColorDialog();
    
            // 初期選択の色
            colorDialog1.Color = textBox1.BackColor;
    
            // カスタムカラーを許可する (初期値 true)
            //colorDialog1.AllowFullOpen = true;
    
            // カスタムカラーを表示状態にする (初期値 false)
            colorDialog1.FullOpen = true;
    
            // 使用可能なすべての色を表示する (初期値 false)
            colorDialog1.AnyColor = true;
    
            // 純色のみ表示する (初期値 false)
            colorDialog1.SolidColorOnly = true;
    
            // カスタムカラーを任意の色で設定する
            colorDialog1.CustomColors = new int[] {0x8040FF, 0xFF8040, 0x80FF40, 0x4080FF};
    
            // [ヘルプ] ボタンを表示する
            colorDialog1.ShowHelp = true;
    
            // ダイアログの戻り値が [OK] の場合は選択した色を設定
            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {    textBox1.BackColor = colorDialog1.Color;
            }
    
            // 使い終わったら破棄する
            colorDialog1.Dispose();
        }
    }
    
    class form01
    {
        [STAThread]
        public static void Main()
        {
            MyForm mf = new MyForm();
            Application.Run(mf);
        }
    }
    
  3. このプログラムは ColorDialog で TextBox の背景色を選択します。
    最初に TextBox を、続いて ColorDialog のインスタンスを生成します。
    ColorDialog で選択された色を TextBox の背景色として設定します。
    Windows(C++) でも同様のプログラムを作成しています。
    超初心者のプログラム入門(Windows)から ブラシの色を選択する を参照して下さい。
    リンクがエラーになるときは「前田稔の超初心者のプログラム入門」から辿って下さい。

超初心者のプログラム入門(C# Frame Work)