如何获得listview选中行的信息

一、概述

     让listview能够选中一行,可以设置属性:FullRowSelect = true。那么如何获取选中行的信息呢?

ItemSelectionChanged事件和SelectedIndexChanged 事件这两个事件都能实现所需功能。


ItemSelectionChanged事件:

private void OnItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
     {
        if (e.IsSelected)
        {
            ListViewItem myItem = new ListViewItem();
            myItem = listView1.SelectedItems[0];
            string str0 = myItem.Text;
            string str1 = myItem.SubItems[0].Text;
            string str2 = myItem.SubItems[1].Text;
        }
     }

ListView1_SelectedIndexChanged 事件:

private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                ListViewItem myItem = new ListViewItem();
                myItem = listView1.SelectedItems[0];//获取选中行
               string str0 = myItem.Text;
               string str1 = myItem.SubItems[0].Text;
               string str2 = myItem.SubItems[1].Text;
            }
            else return;
        }

       需要注意的是,用户选择项或取消选择项时此事件会发生两次,一次是针对以前选择的每一项,一次是针对

新选择的项。如果忽略了点击一次Items触发两次该事件很容易出现InvalidArgument=“0”的值对于“index”无效的错误!

所以listView1.SelectedItems.Count > 0可以防止取消选中项时触发事件引发的索引问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值