簡體   English   中英

從C#中的ListView中刪除項目

[英]Removing items from a ListView in C#

我當前的代碼可以完美地將項目添加到ListView中,並且remove功能也可以正常運行! 然而! 有時,當我從列表視圖中刪除一個項目並嘗試添加另一個項目時,它不會為其添加適當的子項目。

我嘗試調試代碼並嘗試跟蹤變量,但無濟於事。

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 ListViewExampleA
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        int a = 0;
        private void button1_Click(object sender, EventArgs e)
        {
            // Insert name into column 1.
            listView1.Items.Add(textBox1.Text);

            // Insert country into column 2.
            listView1.Items[a].SubItems.Add(textBox2.Text);

            // Insert age into column 3.
            listView1.Items[a].SubItems.Add(textBox3.Text);

            // Increment i.
            a++;

            // Empty tbox1, 2, 3
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
        }

        // The following event runs every time, the second button which is (Remove From The List) is clicked
        private void button2_Click(object sender, EventArgs e)
        {
            // So we can work with them easier.
            string name = textBox1.Text;
            string country = textBox2.Text;
            string age = textBox3.Text;

            // If only name is written and the rest are empty
            if (name != "" && country == "" && age == "")
            {                   
                for (int i = 0; i < listView1.Items.Count; i++)
                {
                    listView1.Items.Remove(listView1.FindItemWithText(name));
                    a--;
                }

            }

            // If only
        }
    }
}

您需要從頭開始刪除,否則將跳過項目

for (int i = listView1.Items.Count - 1; i >= 0; i--)
{
   if(listView1.Items[i].Text == Name) listView1.Items[i].Remove();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM