请教各位,如何能够得出鼠标双击listview某一行的行号呢?

解决方案 »

  1.   

      private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
            {
                if (e.IsSelected)
                {
                    int aa = e.ItemIndex;
                }
            }
      

  2.   

    谢谢楼上大哥的,不过我需要的是鼠标双击事件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);
                    }
                }
    }
    这样试了可以出来,就是不知道会不会有其他问题。还有其他办法吗?我总感觉我这这个代码效率太低了
      

  3.   

    ListViewItem item = this.listView1.SelectedItems[0];
     int iCol=this.listView1.Items.IndexOf(item);先获取listview选中的行,再返回选中行在listview中所在的行号!
      

  4.   

    如果以表格的方式来应用listview的话,为什么不考虑datagrid呢?
      

  5.   

    直接使用private void listView1_MouseDoubleClick(object sender, MouseEventArgs e) 
    {   if (listView1.SelectedItems.Count == 0) return;            MessageBox.Show(listView1.SelectedItems[0].Text);}
      

  6.   

    嘿嘿,“大师父”,是别人让必须用listview来实现的,我就用了。。
      

  7.   

    MessageBox.Show(listView1.SelectedItems[0].Text);返回的双击行的内容,不是行号的。
    这个和“wysdong”发的类似,他的那个是行号的
    ListViewItem item = this.listView1.SelectedItems[0]; 
    int iCol=this.listView1.Items.IndexOf(item); 
      

  8.   

    如果是鼠标事件,还有一个更好的方法:
    ListViewItem item = this.listView1.GetItemAt(e.X,e.Y);