我有一个程序,使用 dataGridView 显示数据,并通过将行添加到 dataGridView 实现每秒自动更新数据。
当我想要阅读开头附近的内容时,我向上滚动,即使数据更新,滚动条也不会下移,这很好。但是我只希望在滚动条位于 dataGridView 底部时才下移滚动条。
当文本添加新行时,我想要的行为是:
如果滚动条在底部,则自动向下滚动。 如果滚动条在其他位置,则不滚动。
我编写的代码不幸地不能实现这个功能。
当我想要阅读开头附近的内容时,我向上滚动,即使数据更新,滚动条也不会下移,这很好。但是我只希望在滚动条位于 dataGridView 底部时才下移滚动条。
当文本添加新行时,我想要的行为是:
如果滚动条在底部,则自动向下滚动。 如果滚动条在其他位置,则不滚动。
我编写的代码不幸地不能实现这个功能。
private void liveDataTable_Scroll(object sender, ScrollEventArgs e)
{
ScrollPosition = liveDataTable.FirstDisplayedScrollingRowIndex;
if (ScrollPosition == liveDataTable.RowCount - 1)
{
IsScrolledToBottom = true;
}
else
{
IsScrolledToBottom = false;
}
}
public void AddRowToDataGridMethod()
{
dataTable.Rows.Add();
if (dataWin.IsScrolledToBottom == true)
dataWin.LiveDataTable.FirstDisplayedScrollingRowIndex = (dataWin.ScrollPosition + 1);
else
dataWin.LiveDataTable.FirstDisplayedScrollingRowIndex = dataWin.ScrollPosition;
}