c# winform DataGridView 单元格的屏幕位置
来源:百度知道 编辑:UC知道 时间:2024/06/08 00:29:46
再加点料,我要弹出一个窗口,怎么才能定位在所选单元格的下边框?起始点在单元格的左下角的点上?
首先取得DataGridView的坐标位置:
int dgvX = dataGridView1.Location.X;
int dgvY = dataGridView1.Location.Y;
然后取得选中单元格的坐标在DataGridView中的坐标位置:
int cellX = dataGridView1.GetCellDisplayRectangle(ColumnIndex,RowIndex,false).X;
int cellY = dataGridView1.GetCellDisplayRectangle(ColumnIndex,RowIndex,false).Y;
最后可以得到每个单元格相对于form的坐标为:
int x = dgvX + cellX;
int y = dgvY + cellY;
这样就可以了,取得单元格坐标位置的主要方法就是
GetCellDisplayRectangle()只要知道这个就比较好处理了
楼主如果还有什么不清楚的可以直接在线问我哈,或者短消息也可以的
先获取form所在单元格坐标。。再调用win32api根据form左上角坐标应该可以其相对屏幕坐标
两种方法:
方法一:
int index=this.dataGridView1.Rows.Add();
this.dataGridView1.Rows[index].Cells[0].Value = "1";
this.dataGridView1.Rows[index].Cells[1].Value = "2";
this.dataGridView1.Rows[index].Cells[2].Value = "监听";
利用dataGridView1.Rows.Add()事件为DataGridView控件增加新的行,该函数返回添加新行的索引号,即新行的行号,然后可以通过该索引号操作该行的各个单元格,如dataGridView1.Rows[index].Cells[0].Value = "