我有一个问题,其中DataGidView的最后一列太长,您需要使用滚动条来显示该列的其余部分。
但是当我输入文字时,输入时它不会自动滚动。
我想要的是我想在键入时自动滚动滚动条,这样用户在键入时就不必使用滚动条。
这是图片:
答案 0 :(得分:2)
看看以这种方式修改的单元格滚动行为是否可以在您的上下文中使用。
输入的Cell
用DataGridView.GetCellDisplayRectangle()进行度量,如果Right
的位置超出了DataGridView
的范围,则将当前值之前的Cell
设置为FirstDisplayedCell
。
这应确保在输入Cell
时始终将其滚动到视图中。
在编辑模式下,Cell
范围将自动扩展。
另外,在考虑cutOverflow
边界范围时,请检查GetCellDisplayRectangle()
方法的Cell
参数是否有明显不同的行为。
Private Sub DataGridView1_CellEnter(sender As Object, e As DataGridViewCellEventArgs)
Dim CellArea As Rectangle = 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