[Tips][ListView] 項目を削除する

スポンサーリンク

ListViewから項目を削除するには、Itemsプロパティが持つ削除系のメソッドを使用します(下記)。

メソッド 説明
Removeメソッド リストビューの項目を指定して削除する
RemoveAtメソッド リストビューに表示されている項目のインデックス番号を指定して削除する
Clearメソッド リストビューに表示されている項目をすべて削除する

下記は、上記メソッドを使用して項目を削除する例です。

[C#を削除]ボタンをクリックした場合は、ListViewの1番目の項目を取得し、そのTextが”C#”の場合に削除を行います。

[1番目を削除]ボタンをクリックしたときは、ListViewの1番最初の項目(インデックスが0)を削除します。

[全削除]ボタンをクリックしたときは、ListViewに表示されているすべての項目を削除します。

VBの例

''' <summary>
''' フォームロード時の処理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'ListViewに項目を追加する
    AddItems()
End Sub

''' <summary>
''' [項目の追加]ボタンクリック時の処理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub btnAddItems_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddItems.Click
    ListView1.Items.Clear()

    'ListViewに項目を追加する
    AddItems()
End Sub

''' <summary>
''' [C#の削除]ボタンクリック時の処理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub btnRemoveCS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemoveCS.Click
    For Each itemx As ListViewItem In ListView1.Items
        '項目がC#の場合に削除する
        If itemx.Text = "C#" Then
            ListView1.Items.Remove(itemx)
        End If
    Next
End Sub

''' <summary>
''' [1番目の項目を削除]ボタンクリック時の処理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub btnRemove1st_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemove1st.Click
    ListView1.Items.RemoveAt(0)
End Sub

''' <summary>
''' [全削除]ボタンクリック時の処理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub btnAllClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAllClear.Click
    ListView1.Items.Clear()
End Sub

''' <summary>
''' ListViewに項目を追加する
''' </summary>
''' <remarks></remarks>
Private Sub AddItems()
    Dim items(,) As String = {
        {"VB", "ぶいびー"},
        {"C#", "しーしゃーぷ"},
        {"VC++", "びじゅあるしーぷらすぷらす"},
        {"F#", "えふしゃーぷ"},
        {"PowerShell", "ぱわーしぇる"}}


    For I As Integer = 0 To (items.Length \ items.Rank) - 1
        Dim itemx As New ListViewItem

        itemx.Text = items(I, 0)
        itemx.SubItems.Add(items(I, 1))
        ListView1.Items.Add(itemx)
    Next
End Sub

C#の例

/// <summary>
/// フォームロード時の処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form4_Load(object sender, EventArgs e)
{
    //  ListViewに項目を追加する
    AddItems();
}

/// <summary>
/// [項目の追加]ボタンクリック時の処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAddItems_Click(object sender, EventArgs e)
{
    listView1.Items.Clear();

    // ListViewに項目を追加する
    AddItems();
}

/// <summary>
/// [C#の削除]ボタンクリック時の処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnRemoveCS_Click(object sender, EventArgs e)
{
    foreach (ListViewItem itemx in listView1.Items)
    {
        // 項目がC#の場合に削除する
        if (itemx.Text == "C#")
            listView1.Items.Remove(itemx);
    }
}

/// <summary>
/// [1番目の項目を削除]ボタンクリック時の処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnRemove1st_Click(object sender, EventArgs e)
{
    listView1.Items.RemoveAt(0);
}

/// <summary>
/// [全削除]ボタンクリック時の処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAllClear_Click(object sender, EventArgs e)
{
    listView1.Items.Clear();
}

/// <summary>
/// ListViewに項目を追加する
/// </summary>
private void AddItems()
{
    string[,] items = {
                      {"VB", "ぶいびー"},
                      {"C#", "しーしゃーぷ"},
                      {"VC++", "びじゅあるしーぷらすぷらす"},
                      {"F#", "えふしゃーぷ"},
                      {"PowerShell", "ぱわーしぇる"}};

    for ( int i = 0; i < items.Length / items.Rank ; i++ )
    {
        ListViewItem itemx = new ListViewItem();

        itemx.Text = items[i, 0];
        itemx.SubItems.Add(items[i, 1]);
        listView1.Items.Add(itemx);
    }
}

コメント

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