[C#][Windows Formsアプリ][ListBox] 項目選択操作をマスターする

スポンサーリンク

はじめに

この記事では、Windows Formsアプリ開発初心者向けに、ListBoxコントロールの項目選択操作について詳しく解説します。ListBoxは、複数のアイテムをリスト形式で表示するためのコントロールで、ユーザーがアイテムを選択したり、コードからアイテムを選択することができます。この記事を通じて、ListBoxの基本的な使い方から、選択操作の実装方法までを学び、ListBoxを自在に操れるようになりましょう。

ListBoxの基本

まずは、ListBoxにアイテムを追加し、基本的な選択操作を行う方法を紹介します。

using System;
using System.Windows.Forms;

namespace ListBoxExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            InitializeListBox();
        }

        private void InitializeListBox()
        {
            // ListBoxコントロールを作成
            ListBox listBox = new ListBox();
            listBox.Location = new System.Drawing.Point(10, 10);
            listBox.Size = new System.Drawing.Size(200, 150);

            // Itemsプロパティを使用してアイテムを追加
            listBox.Items.Add("アイテム1");
            listBox.Items.Add("アイテム2");
            listBox.Items.Add("アイテム3");

            // フォームにListBoxを追加
            this.Controls.Add(listBox);
        }
    }
}
実行例

実行例

ユーザーによる項目選択

ユーザーがListBox内のアイテムを選択したときに、その選択を処理する方法を見てみましょう。以下のコード例では、選択されたアイテムをラベルに表示する機能を実装しています。

using System;
using System.Windows.Forms;

namespace ListBoxExample
{
    public partial class Form1 : Form
    {
        private ListBox listBox;
        private Label selectedItemLabel;

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

        private void InitializeControls()
        {
            // ListBoxコントロールを作成
            listBox = new ListBox();
            listBox.Location = new System.Drawing.Point(10, 10);
            listBox.Size = new System.Drawing.Size(200, 150);
            listBox.Items.Add("アイテム1");
            listBox.Items.Add("アイテム2");
            listBox.Items.Add("アイテム3");
            listBox.SelectedIndexChanged += new EventHandler(ListBox_SelectedIndexChanged);

            // Labelコントロールを作成
            selectedItemLabel = new Label();
            selectedItemLabel.Location = new System.Drawing.Point(10, 170);
            selectedItemLabel.Size = new System.Drawing.Size(200, 20);

            // フォームにコントロールを追加
            this.Controls.Add(listBox);
            this.Controls.Add(selectedItemLabel);
        }

        private void ListBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            // 選択されたアイテムをラベルに表示
            if (listBox.SelectedIndex != -1)
            {
                selectedItemLabel.Text = $"選択されたアイテム: {listBox.SelectedItem.ToString()}";
            }
        }
    }
}
実行例

実行例

 

コードから項目を選択

コードから特定のアイテムを選択する方法も重要です。以下のコード例では、フォームのロード時に特定のアイテムを選択する方法を示しています。

using System;
using System.Windows.Forms;

namespace ListBoxExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            InitializeListBox();
        }

        private void InitializeListBox()
        {
            // ListBoxコントロールを作成
            ListBox listBox = new ListBox();
            listBox.Location = new System.Drawing.Point(10, 10);
            listBox.Size = new System.Drawing.Size(200, 150);
            listBox.Items.Add("アイテム1");
            listBox.Items.Add("アイテム2");
            listBox.Items.Add("アイテム3");

            // 特定のアイテムを選択
            listBox.SelectedIndex = 1; // "アイテム2"を選択

            // フォームにListBoxを追加
            this.Controls.Add(listBox);
        }
    }
}
実行例

実行例

選択操作に関連する便利なプロパティやメソッド

現在選択されているアイテムを取得する

SelectedItemプロパティは、現在選択されているアイテムを取得します。

var selectedItem = listBox.SelectedItem;
MessageBox.Show($"選択されたアイテム: {selectedItem}");

 

複数選択モードで選択されているすべてのインデックスを取得する

SelectedIndicesプロパティは、複数選択モードで選択されているすべてのインデックスを取得します。

foreach (int index in listBox.SelectedIndices)
{
    MessageBox.Show($"選択されたインデックス: {index}");
}

 

選択されているすべてのアイテムの選択を解除する

ClearSelectedメソッドは、選択されているすべてのアイテムの選択を解除します。

ClearSelectedメソッド
ClearSelectedメソッドは、選択されているすべてのアイテムの選択を解除します。

 

まとめ

ListBoxの項目選択操作をマスターすることで、リスト内のアイテムを簡単に管理することができます。この記事では、基本的な選択方法から、ユーザーによる選択の処理方法、コードからの選択方法、さらによく使用されるプロパティやメソッドについて紹介しました。これらの知識を活用して、より便利で使いやすいWindows Formsアプリを作成してください。

Please follow and like us:

コメント

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