C# チェックリストボックスの使い方(CheckedListBox)

C#サンプルコードプログラミング

概要説明

レ点とやる事の組み合わせで、お馴染みのチェックリストのサンプルです。

to do リストのソフト、それ以外でも良く見かけますね。

コードも少なく手軽に扱える実用的なコントロールでだと思います。

 

CheckedListBoxを使います。

こんな感じです。 

サンプルの内容

① やる事(ITEM)を CheckedListBox に追加します。

  Add メソッドで追加します。

  国語の勉強 ~ 英語の勉強 まで追加します。

② CheckOnClick プロパティを True に設定します。

  これをTrue にしないと

  チェックするのに 選択とチェックの2回クリックが必要となります。

③ やる事(ITEM)のチェック状態を設定します。

Unchecked未チェック状態
Checkedチェック状態
Indeterminate不確定のチェック状態

です。

④ チェックされた やる事(ITEM)を Console に 出力します。

 チェックされたITEMをコンソールに出力します。

 チェック状態と不確定のチェック状態のITEMを出力します。

この部品を画面に配置します。

No名称name部品
やることリスト(見出し)label1Label
チェックリストcheckedListBox1CheckedListBox
チェック した ITEMをConsoleに出力するbutton1Button

プログラミング

言語:C#

/// <summary>
/// 画面起動時処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
    checkedListBox1.Items.Add("国語の勉強");
    checkedListBox1.Items.Add("数学の勉強");
    checkedListBox1.Items.Add("理科の勉強");
    checkedListBox1.Items.Add("社会の勉強");
    checkedListBox1.Items.Add("英語の勉強");

    // すぐにチェックを適用する
    checkedListBox1.CheckOnClick = true;

    // アイテムのチェック状態をセットする
    checkedListBox1.SetItemCheckState(0, CheckState.Unchecked);     // 国語の勉強を未チェック状態にする
    checkedListBox1.SetItemCheckState(1, CheckState.Unchecked);     // 数学の勉強を未チェック状態にする
    checkedListBox1.SetItemCheckState(2, CheckState.Checked);       // 理科の勉強をチェック状態にする
    checkedListBox1.SetItemCheckState(3, CheckState.Unchecked);     // 社会の勉強を未チェック状態にする
    checkedListBox1.SetItemCheckState(4, CheckState.Indeterminate); // 英語の勉強を不確定な状態のチェックにする
}

/// <summary>
/// チェック した ITEMをConsoleに出力するクリック処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
    // チェックされたITEMを処理する
    foreach (int i in checkedListBox1.CheckedIndices)
    {
        // チェックされたITEMを出力する
        if (checkedListBox1.GetItemCheckState(i) == CheckState.Checked) {
            Console.WriteLine($"{checkedListBox1.Items[i]} 完了");
        }

        // チェックされたITEM(不確定な状態)を出力する
        if (checkedListBox1.GetItemCheckState(i) == CheckState.Indeterminate)
        {
            Console.WriteLine($"{checkedListBox1.Items[i]} 完了予定");
        }

    }
}

実行結果

画面起動時

チェック

チェック した ITEMをConsoleに出力するクリック

 

以上です。

コメント

タイトルとURLをコピーしました