我试了下用这样的方法
    dg.Rows.Add(9);
    Rectangle rec = dg.GetRowDisplayRectangle(8, false);
得到的rec是这样:
{X = 0 Y = 0 Width = 0 Height = 0} System.Drawing.Rectangle还有没有其它方法呢?

解决方案 »

  1.   

    int rowIndex = 1;
                    int columnIndex = 1;
                    int X = 0, Y = 0;                if (dataGridView.RowHeadersVisible) X += dataGridView.RowHeadersWidth;
                    for (int i = dataGridView.FirstDisplayedScrollingColumnIndex; i < ColumnIndex; i++)
                    {
                        if (dataGridView.Columns[i].Visible) X += dataGridView.Columns[i].Width + dataGridView.Columns[i].DividerWidth;
                    }
                    X -= dataGridView.FirstDisplayedScrollingColumnHiddenWidth;                if (dataGridView.ColumnHeadersVisible) Y += dataGridView.ColumnHeadersHeight;
                    for (int i = dataGridView.FirstDisplayedScrollingRowIndex; i < RowIndex; i++)
                    {
                        if (dataGridView.Rows[i].Visible) Y += dataGridView.Rows[i].Height + dataGridView.Rows[i].DividerHeight;
                    }