我目前正在研究数据网格视图的单元格选择功能,我在单元格周围绘制矩形以模拟选区,使用矩形的坐标和大小。当我向下或向右滚动以选择更多单元格时会出现问题。在选择时,矩形以相同的尺寸和参数绘制,而不管哪个单元格被矩形限制。
我想知道如何将我的矩形绘图与滚动同步,以便在矩形中选择/限制相同的单元格。
对此有任何帮助或指示。
由于
答案 0 :(得分:1)
我不知道您目前使用的是哪种技术,但值得一提的是,通过处理DataGridView
事件直接在Paint
控件上绘画是不明智的。
您必须将绘制代码分解为特定单元格和/或行的边界,并在CellPainting
或“RowPostPaint”事件中绘制。要在几个单元格周围绘制一个矩形,您可以在受影响的单元格的边框内绘制,也可以在相邻的单元格中绘制。
CellBounds
的{{1}}属性为您提供始终相对于单元格本身的坐标,这意味着它将自动适应DataGridViewCellPaintingEventArgs
内的滚动。
修改:如何处理DataGridView
事件以在特定单元格周围绘制自定义边框的示例:
CellPainting