请问如何判断listview在doubleclick事件中双击的控件的哪一列?

解决方案 »

  1.   

    to:jiezhi(风满袖) 
    sender好像没有给出任何有用的属性!是不是需要进行转换呢?
      

  2.   

    private void listView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    System.Windows.Forms.ListViewItem li=this.listView1.GetItemAt(e.X,e.Y);
    if (li!=null)
    {
    this.textBox1.Text=li.Text;
    }
    }
      

  3.   

    this.textBox1.Text=li.Index.ToString();
      

  4.   

    一个比较笨的方法前提是你程序运行时listview中有数据,而且数据中有编号(主键)字段 string aa=listView1.SelectedItems[0].Text.ToString();
      

  5.   

    to sweig0721(男竹)
    private void listView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)函数的参数e好像没有x和y属性,
    D:\项目\FileManager\searchFileWin.cs(515): “System.EventArgs”并不包含对“X”的定义是不是需要进行类型转换
      

  6.   

    Point p=new Point();private void listView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
                this.p.X=e.X;
    this.p.Y=e.Y
    }
    private void listView1_DoubleClick(object sender, System.EventArgs e)
    {
    System.Windows.Forms.ListViewItem li=this.listView1.GetItemAt(p.X,p.Y);
    if (li!=null)
    {
    this.textBox1.Text=li.Index.ToString();
    }
    }
      

  7.   

    弄个Dictionary<ListViewItem,int>通过Dictionary[ListView.selectitem[0].text] 判断编号当然编号也可以和你的数据源相对应
      

  8.   

    sweig0721(男竹)  正解listview需要2个事件配合才能达到楼主要的效果
      

  9.   

    listView1.SelectedItems [0].SubItems [4].Text
      

  10.   

    就是先把鼠标的绝对坐标取到 再转换成相对坐标,再用GetItem取到那一项!!
      

  11.   

    Point p=new Point(MousePosition.X,MousePosition.Y);
                Point curp=listView1.PointToClient(p);
                ListViewItem lvi = listView1.GetItemAt(curp.X, curp.Y);
                int index=lvi.Index
      

  12.   

    很容易出问题
    listview在doubleclick事件中双击的控件的哪一列
    以前做过一个完整的
      

  13.   

    m_subItemSelcted = m_itemSelected.SubItems[m_iPost];
    int iX=0;
    int iY=m_itemSelected.Index*m_itemSelected.GetBounds(ItemBoundsPortion.ItemOnly).Height;
    for(int j=0;j<=(m_iPost-1);j++)
    {
    iX += m_listViewRouting.Columns[j].Width;
    }