[ColorDialog][Tips] ダイアログに表示するカスタムカラーを設定する

CustomColorsプロパティを使用すると、ColorDialogにカスタムカラーを表示させることができます。
値はInteger型(C#はint型)で、RGB値を10進数で表したものを指定します。

例えば赤がDA(hex), 緑がA0(hex),青がFF(hex)の場合は、DAA0FFという値を10進数で表した14328063を指定します。

下記は、ColorDialogにカスタムカラーを表示する例です。

この例では3色のカスタムカラーを表示しています(赤枠部分)。

VBの例

' [色を選択]ボタンクリック時の処理
Private Sub btnColor_Click(sender As System.Object, e As System.EventArgs) Handles btnColor.Click
    '★★★ダイアログに表示するカスタムカラーを設定★★★
    ColorDialog1.CustomColors = New Integer() {14328063, 16755225, 9699269}

    'カラーダイアログを表示
    If ColorDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
        'PictureBoxの背景色に選択された色を設定
        pictureBox1.BackColor = ColorDialog1.Color
    End If
End Sub

C#の例

// [色を選択]ボタンクリック時の処理
private void btnColor_Click(object sender, EventArgs e)
{
    // ★★★ダイアログに表示するカスタムカラーを設定★★★
    colorDialog1.CustomColors = new int[]{6916092, 15195440, 16107657}

    // カラーダイアログを表示
    if (colorDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        // PictureBoxの背景色に選択された色を設定
        pictureBox1.BackColor = colorDialog1.Color;
    }
}

[ColorDialog][Tips] ダイアログを開いたときに色の作成機能を表示する

通常、ColorDialogを開いたときは下図のように色の作成機能は表示されません。

ColorDialogを開いたときに、色の作成機能を表示させたい場合はFullOpenプロパティにTrueを設定します。

下記は、ダイアログを開いたときに色の作成機能を表示させる例です。

「色の作成機能を表示する」にチェックを付け、[色の作成]ボタンをクリックすると、ダイアログを開いたときに色の作成機能を表示します。

VBの例

' [色を選択]ボタンクリック時の処理
Private Sub btnColor_Click(sender As System.Object, e As System.EventArgs) Handles btnColor.Click
    '★★★色の作成機能を表示するかどうかを設定★★★
    ColorDialog1.FullOpen = chkFullOpen.Checked

    'カラーダイアログを表示
    If ColorDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
        'PictureBoxの背景色に選択された色を設定
        pictureBox1.BackColor = ColorDialog1.Color
    End If
End Sub

C#の例

// [色を選択]ボタンクリック時の処理
private void btnColor_Click(object sender, EventArgs e)
{
    // ★★★色の作成機能を表示するかどうかを設定★★★
    colorDialog1.FullOpen = chkFullOpen.Checked;

    // カラーダイアログを表示
    if (colorDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        // PictureBoxの背景色に選択された色を設定
        pictureBox1.BackColor = colorDialog1.Color;
    }
}

[ColorDialog][Tips] 色の作成ボタンを無効にする

ColorDialogでは下図のようにデフォルトで[色の作成]ボタンが表示されるようになっています。

[色の作成]ボタンを押すとダイアログが拡張され、文字通り色を作成するためのエリアが表示されます。

[色の作成]ボタンを無効にしたい場合は、AllowFullOpenプロパティにFalseを設定します。

下記は、[色の作成]ボタンを無効にする例です。

[色の作成ボタンを有効にする]チェックボックスのチェック状態に合わせて、[色の作成]ボタンの有効/無効を切り替えます。

VBの例

' [色を選択]ボタンクリック時の処理
Private Sub btnColor_Click(sender As System.Object, e As System.EventArgs) Handles btnColor.Click
    '★★★[色の作成]ボタンの有効/無効を切り替える
    ColorDialog1.AllowFullOpen = chkAllowFullOpen.Checked

    'カラーダイアログを表示
    If ColorDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
        'PictureBoxの背景色に選択された色を設定
        pictureBox1.BackColor = ColorDialog1.Color
    End If
End Sub

C#の例

// [色を選択]ボタンクリック時の処理
private void btnColor_Click(object sender, EventArgs e)
{
    // ★★★[色の作成]ボタンの有効/無効を切り替える
    colorDialog1.AllowFullOpen = chkAllowFullOpen.Checked;

    // カラーダイアログを表示
    if (colorDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        // PictureBoxの背景色に選択された色を設定
        pictureBox1.BackColor = colorDialog1.Color;
    }
}