确定数据网格视图中的单元格位置

本文关键字:单元格 位置 视图 网格 数据 数据网 | 更新日期: 2023-09-27 17:55:51

给定特定的行号和列索引,如何在DataGridView中计算单元格位置(IE:Location.Point)?

我需要单元格位置的原因是我可以在单元格内放置一个按钮以允许文件夹浏览(数据网格视图显示文件夹路径)。

关于如何实现此欢迎的替代建议。

确定数据网格视图中的单元格位置

您无法真正找到 DGV 单元的点,因为单元格在 DGV 中占据矩形区域。 但是,您可以使用 DataGridView.GetCellDisplayRectangle() 方法找到此区域。它返回由单元格的列索引和行索引给出的 DGV 单元格显示区域的Rectangle。 如果你真的想要一个点,你可以很容易地使用Rectangle来构造Rectangle的四个角中的任何一个点。

// Get Rectangle for second column in second row.
var cellRectangle = dataGridView1.GetCellDisplayRectangle(1, 1, true);
// Can create Points using the Rectangle if you want.
Console.WriteLine("Top Left     x:{0}'t y:{1}", cellRectangle.Left, cellRectangle.Top);
Console.WriteLine("Bottom Right x:{0}'t y:{1}", cellRectangle.Right, cellRectangle.Bottom);

但我同意你的问题的评论者;最好创建一个自定义的DataGridViewColumn并在那里托管你的文本框和按钮。 下面是对 DateTimePicker 控件执行此操作的示例: