C# listBoxで選択されている値を削除する

  • 作成日 2020.10.13
  • 更新日 2022.03.04
  • C#
C# listBoxで選択されている値を削除する

C#で、RemoveAtメソッドを使用して、listBoxで選択されている値を削除するサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • Microsoft Visual Studio Community 2019 Version 16.7.1

RemoveAtメソッド使い方

RemoveAtメソッドを使用すると、listBoxで選択されている値を削除することが可能です。

// 選択されているitemのインデックス番号を取得
int index = listBox1.SelectedIndex;

// 選択されているリストを削除
listBox1.Items.RemoveAt(index);

サンプルコード

以下は、
「実行(button1)」ボタンをクリックして、listboxに値を追加した後に、
値を選択して、「実行(button2)」ボタンをクリックして選択した値を削除する
サンプルコードとなります。

using System;
using System.Windows.Forms;

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

        private void button1_Click(object sender, EventArgs e)
        {
            // item作成
            for (int i = 0; i < 10; i++)
            {
                listBox1.Items.Add(i+"番目");
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            // 選択されているリストを削除
            listBox1.Items.RemoveAt(listBox1.SelectedIndex);
        }
    }
}

カーソルが最終行に移動されていることが確認できます。

Removeメソッドの場合は、データの値をそのまま指定して削除することが可能です。

listBox1.Items.Remove("7番目");
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


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

        private void button1_Click(object sender, EventArgs e)
        {
            // item作成
            for (int i = 0; i < 10; i++)
            {
                listBox1.Items.Add(i+"番目");
            }
                        
        }

        private void button2_Click(object sender, EventArgs e)
        {
            listBox1.Items.Remove("7番目");
        }
    }
}

また全て削除する場合は、以下となります。

listBox1.Items.Clear();