[C#][Windows Formsアプリ][CheckedListBox] CheckedListBox.Itemsコレクション操作の基本と応用

スポンサーリンク

はじめに

Windows Formsアプリケーション開発において、リスト表示は非常に重要な要素です。CheckedListBoxコントロールは、チェックボックス付きのリストとして、ユーザーが複数の項目を選択できるだけでなく、プログラム側から項目の動的な追加、削除、編集が可能です。この記事では、CheckedListBoxコントロールのItemsコレクションを操作するための基本メソッド(Add, Insert, Remove, Clear)と、それらを業務データの操作に応用する方法について解説します。

ItemsコレクションのAdd, Insert, Remove, Clearなどのメソッド概要

CheckedListBoxコントロールのItemsコレクションは、リストに表示される項目を管理します。このコレクションには、以下の主要なメソッドが用意されています。

  • Add(object item): リストの末尾に新しい項目を追加します。
  • Insert(int index, object item): 指定したインデックス位置に新しい項目を挿入します。
  • Remove(object item): リストから指定した項目を削除します。
  • RemoveAt(int index): リストから指定したインデックス位置の項目を削除します。
  • Clear(): リストからすべての項目を削除します。

これらのメソッドを適切に利用することで、リスト項目の動的な操作を実現し、業務アプリケーションにおけるデータ操作を効率化できます。例えば、新しいタスクの追加、タスクの削除、優先度の変更などを、リスト表示と連携して処理できます。

コード例

以下のコード例では、CheckedListBoxコントロールのItemsコレクションの操作方法を示します。ボタンをクリックすることで、項目の追加、挿入、削除、クリアを行います。

using System;
using System.Drawing;
using System.Windows.Forms;

namespace CheckedListBoxSample
{
   public partial class Form1 : Form
   {
       private CheckedListBox checkedListBox;


       public Form1()
       {
           InitializeComponent();
           InitializeCheckedListBox();
       }

       private void InitializeCheckedListBox()
       {
           // CheckedListBoxコントロールを作成
           checkedListBox = new CheckedListBox();
           checkedListBox.Location = new Point(10, 10);
           checkedListBox.Size = new Size(200, 130);
           this.Controls.Add(checkedListBox);

           // ボタンを作成
           Button addButton = new Button();
           addButton.Text = "項目を追加";
           addButton.Location = new Point(10, 150);
           addButton.Click += new EventHandler(AddButton_Click);
           this.Controls.Add(addButton);

           Button insertButton = new Button();
           insertButton.Text = "項目を挿入";
           insertButton.Location = new Point(110, 150);
           insertButton.Click += new EventHandler(InsertButton_Click);
           this.Controls.Add(insertButton);

           Button removeButton = new Button();
           removeButton.Text = "項目を削除";
           removeButton.Location = new Point(10, 180);
           removeButton.Click += new EventHandler(RemoveButton_Click);
           this.Controls.Add(removeButton);

           Button clearButton = new Button();
           clearButton.Text = "項目をクリア";
           clearButton.Location = new Point(110, 180);
           clearButton.Click += new EventHandler(ClearButton_Click);
           this.Controls.Add(clearButton);

           // 初期項目を追加
           checkedListBox.Items.Add("初期項目1");
           checkedListBox.Items.Add("初期項目2");
       }

       private void AddButton_Click(object sender, EventArgs e)
       {
           checkedListBox.Items.Add("新しい項目");
       }

       private void InsertButton_Click(object sender, EventArgs e)
       {
           checkedListBox.Items.Insert(1, "挿入された項目");
       }

       private void RemoveButton_Click(object sender, EventArgs e)
       {
           if (checkedListBox.SelectedIndex != -1)
           {
               checkedListBox.Items.RemoveAt(checkedListBox.SelectedIndex);
           }
       }

       private void ClearButton_Click(object sender, EventArgs e)
       {
           checkedListBox.Items.Clear();
       }

   }
}
実行例

実行例

コード解説

usingディレクティブ:

System, System.Drawing, System.Windows.Forms 名前空間をインポートします。これらの名前空間は、基本クラス、描画関連クラス、Windowsフォーム関連クラスを提供します。

InitializeControlsメソッド:

CheckedListBoxコントロールを作成し、Locationプロパティで配置位置、Sizeプロパティで大きさを設定します。

ボタンを作成し、クリックイベントを登録します。

フォームにCheckedListBoxコントロールとボタンを追加します。

AddButton_Clickメソッド:

Addメソッドを使用して、リストの末尾に新しい項目を追加します。

InsertButton_Clickメソッド:

Insertメソッドを使用して、指定したインデックス位置に新しい項目を挿入します。

RemoveButton_Clickメソッド:

RemoveAtメソッドを使用して、選択された項目を削除します。

ClearButton_Clickメソッド:

Clearメソッドを使用して、リストのすべての項目を削除します。

まとめ

CheckedListBoxコントロールのItemsコレクションは、リスト項目の動的な操作を可能にする強力な機能を提供します。Add, Insert, Remove, Clearメソッドを適切に使い分けることで、業務アプリケーションにおけるデータの追加、削除、編集を効率的に行うことができます。このコレクションを使いこなすことで、ユーザーフレンドリーで柔軟なアプリケーション開発が可能になります。

Please follow and like us:

コメント

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