核心思想:
// 设置第一个显示的行索引,实现平滑滚动
/// <summary> /// 将DataGridView平滑滚动到底部 /// </summary> /// <param name="dgv">要操作的DataGridView控件</param> public void ScrollToBottom(DataGridView dgv) {// 检查是否有数据行bool flag = dgv.Rows.Count == 0;if (!flag){// 计算当前可见行数int visibleRows = dgv.DisplayedRowCount(false);// 计算目标行索引(最后一行减去可见行数)int targetIndex = dgv.Rows.Count - visibleRows;// 确保目标索引不小于0bool flag2 = targetIndex < 0;if (flag2){targetIndex = 0;}// 确保目标索引不超过总行数bool flag3 = targetIndex < dgv.Rows.Count;if (flag3){// 设置第一个显示的行索引,实现平滑滚动dgv.FirstDisplayedScrollingRowIndex = targetIndex;}} }