[C#][Windows Formsアプリ][CheckedListBox] チェックされたアイテムを取得する方法

スポンサーリンク

はじめに

この記事では、Windows Formsアプリケーション開発における CheckedListBox コントロールの CheckedItems プロパティを使って、ユーザーがチェックした項目を効率的に取得する方法を解説します。CheckedListBox は、複数の項目をリスト表示し、各項目に対してチェックボックスを提供することで、ユーザーが複数の項目を選択できる便利なコントロールです。この記事を読むことで、CheckedListBox でチェックされた項目をどのように取得し、アプリケーションで活用するかを理解できるようになります。Windows Formsアプリ開発を始めたばかりの方でも、分かりやすく解説しますので、ぜひ最後までお付き合いください。

CheckedItemsプロパティとは?

CheckedListBox コントロールには、CheckedItems というプロパティがあります。このプロパティは、ユーザーがチェックした項目(つまり、チェックボックスがオンになっている項目)のコレクションを返します。このコレクションを利用することで、どの項目が選択されているかをプログラムで簡単に知ることができます。

 

CheckedItemsプロパティの使い方

具体的なコード例を見ていきましょう。

CheckedListBoxの配置

まず、Visual Studioのデザイナで、フォームに CheckedListBox コントロールを配置します。必要に応じて、項目を Items プロパティに追加してください。

ボタンクリック時の処理

次に、ボタンをクリックしたときに、選択された項目を取得し、メッセージボックスに表示するコードを記述します。以下のコードは、ボタンクリックイベントハンドラ内に記述します。

private void Form1_Load(object sender, EventArgs e)
{
    // タスクのリストを設定
    checkedListBox1.Items.AddRange(new object[] { "Task 1", "Task 2", "Task 3" });

    // CheckOnClickプロパティをtrueに設定
    checkedListBox1.CheckOnClick = true;


}

private void button1_Click(object sender, EventArgs e)
{
    string selectedItems = "";
    foreach (var item in checkedListBox1.CheckedItems)
    {
        selectedItems += item.ToString() + "\n";
    }

    if (string.IsNullOrEmpty(selectedItems))
    {
        MessageBox.Show("項目が選択されていません。", "確認", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    else
    {
        MessageBox.Show("選択された項目:\n" + selectedItems, "選択項目", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
}
実行例

実行例

コード解説

  • checkedListBox1.CheckedItems で、チェックがつけられた項目のコレクションを取得します。
  • foreach ループで、コレクション内の各項目を順番に処理します。
  • item.ToString() で、各項目のテキストを取得し、selectedItems 変数に改行コード付きで追加します。
  • 選択された項目がない場合は、警告メッセージを表示します。
  • 選択された項目がある場合は、選択項目をメッセージボックスに表示します。

まとめ

この記事では、Windows Formsアプリケーション開発において、CheckedListBox コントロールの CheckedItems プロパティを使って選択項目を取得する方法について解説しました。CheckedItems プロパティを使えば、ユーザーが選択した項目を簡単に取得でき、さまざまな処理に応用することができます。この記事が、Windows Forms アプリケーション開発の一助となれば幸いです。

Please follow and like us:

コメント

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