Private Sub DataGridView1_CellEnter(sender As Object, e As DataGridViewCellEventArgs)
Dim cellArea = DataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, False)
If cellArea.Right > DataGridView1.Width AndAlso e.ColumnIndex > 0 Then
DataGridView1.FirstDisplayedCell = DataGridView1(e.ColumnIndex - 1, e.RowIndex)
End If
End Sub
1条答案
按热度按时间zy1mlcev1#
查看以这种方式修改的单元格滚动行为在您的上下文中是否有用。
输入的单元格用DataGridView.GetCellDisplayRectangle()测量,如果它的
Right
位置福尔斯DataGridView
界限,则将当前单元格之前的Cell
设置为FirstDisplayedCell。这应确保在输入单元格时始终滚动到视图中。
在编辑模式下,单元格的边界将自动扩展。
此外,请检查
GetCellDisplayRectangle()
方法的cutOverflow
参数,以了解在考虑Cell
边界范围时的稍微不同的行为。