c# 关于listview行定位的问题

 

请教各位,如何能够得出鼠标双击listview某一行的行号呢?
<script src="/js/adjs/csdn/tabad.js" type="text/javascript"></script>

fanxin1126»
  private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
            if (e.IsSelected)
            {
                int aa = e.ItemIndex;
            }
        }
Dobzhansky»
顶楼
lile_cq»
谢谢楼上大哥的,不过我需要的是鼠标双击事件private void listView1_MouseDoubleClick(object sender, MouseEventArgs e),我是这样做的:

private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
            foreach (ListViewItem lvi in listView1.Items)
            {
                if (lvi.Focused == true)
                {
                    MessageBox.Show(listView1.Items.IndexOf(lvi).ToString(), "", MessageBoxButtons.OK 
                                    ,MessageBoxIcon.Information);
                }
            }
}
这样试了可以出来,就是不知道会不会有其他问题。还有其他办法吗?我总感觉我这这个代码效率太低了
wysdong»
ListViewItem item = this.listView1.SelectedItems[0];
int iCol=this.listView1.Items.IndexOf(item);

先获取listview选中的行,再返回选中行在listview中所在的行号!
lile_cq»
你太帅了,多谢了,还有别的方法吗?
simonezhlx»
如果以表格的方式来应用listview的话,为什么不考虑datagrid呢?
zgke»
直接使用private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
{

  if (listView1.SelectedItems.Count == 0) return;

            MessageBox.Show(listView1.SelectedItems[0].Text);}
lile_cq»
嘿嘿,“大师父”,是别人让必须用listview来实现的,我就用了。。。。。
lile_cq»
MessageBox.Show(listView1.SelectedItems[0].Text);返回的双击行的内容,不是行号的。
这个和“wysdong”发的类似,他的那个是行号的
ListViewItem item = this.listView1.SelectedItems[0];
int iCol=this.listView1.Items.IndexOf(item);


rl0516»
如果是鼠标事件,还有一个更好的方法:
ListViewItem item = this.listView1.GetItemAt(e.X,e.Y);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值