ListView(リストビュー)の項目を削除する - C#

ListView(リストビュー)の項目を削除するコードを紹介します。

概要

Listviewから項目を削除する場合は、ListViewのItemsオブジェクトのRemove() メソッドを呼び出します。

プログラム例

UI

下図のUIを作成します。

コード

下記のコードを記述します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ListViewDemo
{
  public partial class FormAddDelete : Form
  {
    public FormAddDelete()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      ListViewItem lvi = new ListViewItem();
      lvi.Text = "Penguin";
      lvi.ImageIndex = 0;
      listView1.Items.Add(lvi);
      
      lvi = new ListViewItem("Chicken");
      lvi.ImageIndex = 1;
      listView1.Items.Add(lvi);

      lvi = new ListViewItem("Pig");
      lvi.ImageIndex = 2;
      listView1.Items.Add(lvi);
    }

    private void button2_Click(object sender, EventArgs e)
    {
      if (listView1.SelectedItems.Count > 0) {
        listView1.Items.Remove(listView1.SelectedItems[0]);
      }
    }
  }
}

解説

button1についてはListviewに項目を追加するコードですので、こちらの記事を参照してください。

Button2のコードが下記になります。最初にif文でListViewのSelectedItemsオブジェクトを取得し、Countプロパティを確認してListViewで項目が選択されてる要素の個数を取得します。項目が一つも選択されていなければ何も処理をしません。選択されている項目がある場合は、ItemsオブジェクトのRemoveメソッドを呼び出します。Removeメソッドの第一引数に削除したいListItemオブジェクトを与えます。今回のコードではListViewのSelectedItems オブジェクトの最初の要素を与えていますので、ListViewの選択された項目の最初の一つの項目を削除する動作になります。
  if (listView1.SelectedItems.Count > 0) {
    listView1.Items.Remove(listView1.SelectedItems[0]);
  }

実行結果

上記のプロジェクトを実行します。下図のウィンドウが表示されます。[Add]ボタンをクリックします。


Addボタンをクリックすると、ListViewに項目が追加されます。


ListViewの項目をクリックして選択します。今回は"Chicken"の項目を選択します。選択状態のままで[Delete]ボタンをクリックします。


選択した"Chicken"の項目が削除されます。


同様の手順で"Penguin"の項目を選択します。選択状態で[Delete]ボタンをクリックします。


選択されている"Penguin"の項目が削除されます。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-01-07
作成日: 2011-09-06
iPentec all rights reserverd.