DataGridView 輸出列表,經常會用到滾動條。
在重新加載列表后,如果還要定位到上一次滾動條所在的位置,那下面的方法就能實現,
1 給DataGridView 綁定Scroll 事件。
2 Scroll 事件要做的事,分別記錄滾動條移動位置的數值。
用 e.ScrollOrientation 來判斷當前移動的哪個方向的滾動條,然后用e.NewValue獲取數值
需要注意的是 :
橫向滾動條記錄的是像素位數,
豎向滾動條記錄的行的索引值。
int VerticalScrollIndex = 0; int HorizontalOffset = 0; private void dataGridView1_Scroll(object sender, ScrollEventArgs e) { if (e.ScrollOrientation == ScrollOrientation.VerticalScroll) { VerticalScrollIndex = e.NewValue; } else if(e.ScrollOrientation == ScrollOrientation.HorizontalScroll){ HorizontalOffset = e.NewValue; } }
3 刷新列表后,重新設置滾動條位置值
1 dataGridView1.FirstDisplayedScrollingRowIndex = VerticalScrollIndex; 2 3 4 dataGridView1.HorizontalScrollingOffset = HorizontalOffset;