WinForm C# SQL2000假设鼠标悬停在GridView的第3行第2列,
如何判断鼠标悬停在GridView的第2列?
并获取第3行第2列的值?

解决方案 »

  1.   

    参考        private DataGridViewColumn GetColumnFromPoint(DataGridView _lv, Point _point)
            {
                DataGridViewColumn acolumn = null;
                for (int i = 0; i < _lv.Columns.Count; i++)
                {
                    Rectangle columnrect = _lv.GetColumnDisplayRectangle(i, false);
                    if (columnrect.Contains(_point))
                    {
                        //get it
                        acolumn = _lv.Columns[i];
                        break;
                    }
                }
                return acolumn;
            }
      

  2.   


            private void dataGridView1_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
            {            if (e.RowIndex > -1 && e.ColumnIndex > -1)
                {
                    string value = "";
                    value = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();                MessageBox.Show(value);
                }
            }
      

  3.   

    其实你可以在里面放上别的容器,比较Table也行,为它绑定一个鼠标事件就行了,那样你是可以获取到当前那个窗口的值的,你可以试试
      

  4.   

    你可以处理DataGridView.CellMouseMove 事件,这个事件里的参数e有ColumnIndex 及RowIndex 属性。由此获取。
      

  5.   

    你也可以处理DataGridView.CellMouseEnter 事件,相对 CellMouseMove 来说这个更精准。