提问人:Maxim Gershkovich 提问时间:5/9/2011 最后编辑:Cody Gray - on strikeMaxim Gershkovich 更新时间:5/10/2011 访问量:32269
确定 DataGridView 中的单元格位置
Determine cell location in DataGridView
问:
给定特定的行号和列索引,如何计算 DataGridView 中的单元格位置 (IE: Location.Point)?
我需要单元格位置的原因是,我可以在单元格内放置一个按钮以允许文件夹浏览(datagridview 显示文件夹路径)。
关于如何实现此欢迎的替代建议。
答:
46赞
Jay Riggs
5/10/2011
#1
您无法真正找到 DGV 单元的点,因为单元在 DGV 中占据了一个矩形区域。但是,可以使用 DataGridView.GetCellDisplayRectangle() 方法找到此区域。它返回 a 表示 DGV 单元格的显示区域,该显示区域由 Cell 的列和行索引给出。如果你真的想要一个点,你可以很容易地使用 来构造四个角中的任何一个的点。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 并将 TextBox 和 Button 托管在那里。下面是对 DateTimePicker 控件执行此操作的示例:
评论
0赞
Maxim Gershkovich
5/13/2011
我最终使用了您的建议来正确创建列。效果很好。谢谢!
0赞
Jack
5/27/2016
您提供的这个 MSDN 正是我要找的。
评论
DataGridView