Testing_C# 发表于 2014-7-28 00:54:08

代码求解 listView1.Items.RemoveAt(listView1.SelectedItems[0].Index);0表示意思

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

      private void Form1_Load(object sender, EventArgs e)
      {

      }

      private void button1_Click(object sender, EventArgs e)
      {
            if (textBox1.Text == "")
            {
                MessageBox.Show("请输入需要添加的项目");
            }else
            {
                listView1.Items.Add(textBox1.Text.Trim());
            }

      }

      private void button2_Click(object sender, EventArgs e)
      {
            if (listView1.SelectedItems.Count==0)
            {
                MessageBox.Show("【不存在任何数据】");
            }
            else
            {
                listView1.Items.RemoveAt(listView1.SelectedItems.Index);
                listView1.SelectedItems.Clear();//清除选中的选项
            }
      }
    }
}


ibcadmin 发表于 2014-7-28 09:04:02

移除被选择的行

Testing_C# 发表于 2014-7-28 12:46:42

为什么使用0呢?而且后面必须使用.index这是什么原因啊?不适用它还会报错

ibcadmin 发表于 2014-7-28 13:36:43

Testing_C# 发表于 2014-7-28 04:46
为什么使用0呢?而且后面必须使用.index这是什么原因啊?不适用它还会报错

直接在评论下面点击回复 我就能看到了

使用0 是因为选中的第0行,因为索引是从0开始的,   所以就相当于选中的第1行的数据,在没选中的情况下会报错 这时候就要判断是否已选中一行

Testing_C# 发表于 2014-7-28 15:06:44

我如果用2,3,4,5,6,7,8,9等数字都不行啊!为什么使用.index啊,index 在这里表示什么意思

惜鑫 发表于 2014-7-28 22:44:18

Testing_C# 发表于 2014-7-28 15:06
我如果用2,3,4,5,6,7,8,9等数字都不行啊!为什么使用.index啊,index 在这里表示什么意思

因为没有这么多行 你只选中了一行

ibcadmin 发表于 2014-7-28 22:46:22

Testing_C# 发表于 2014-7-28 04:46
为什么使用0呢?而且后面必须使用.index这是什么原因啊?不适用它还会报错

楼上正解 ,   你点我评论下面的回复 我才能看到要不然收不到消息

Testing_C# 发表于 2014-7-28 23:17:29

ibcadmin 发表于 2014-7-28 22:46
楼上正解 ,   你点我评论下面的回复 我才能看到要不然收不到消息

对不起,忘了点了呵呵呵额,不过还是不怎么懂你们说的,想深入的请教一下子如有有qq愿意加我吗?

Testing_C# 发表于 2014-7-28 23:19:08

惜鑫 发表于 2014-7-28 22:44
因为没有这么多行 你只选中了一行

你的意思不管我选择的是哪一行都会自动默认为0对吗???

惜鑫 发表于 2014-7-29 09:27:03

Testing_C# 发表于 2014-7-28 23:19
你的意思不管我选择的是哪一行都会自动默认为0对吗???

不是 你选择的时候只能选择一行对吧?

   你就选择了一行你的索引当然是0了    1的话就成2行了
页: [1] 2
查看完整版本: 代码求解 listView1.Items.RemoveAt(listView1.SelectedItems[0].Index);0表示意思