Большинство вертикальной прокрутки в DGV происходит, потому что пользователь вводит строки данных или нажимает клавиши со стрелками вверх / вниз на клавиатуре. Для этого не существует действия «end-scroll». Если это не проблема, вы можете обнаружить пользователя, непосредственно работающего с полосой прокрутки, с помощью этого кода:
using System;
using System.Windows.Forms;
class MyDataGridView : DataGridView {
public event EventHandler EndScroll;
protected void OnEndScroll(EventArgs e) {
EventHandler handler = EndScroll;
if (handler != null)
handler(this, EventArgs.Empty);
}
protected override void WndProc(ref Message m) {
base.WndProc(ref m);
if (m.Msg == 0x115) {
if ((ScrollEventType)(m.WParam.ToInt32() & 0xffff) == ScrollEventType.EndScroll) {
OnEndScroll(EventArgs.Empty);
}
}
}
}
Вставьте это в новый класс. Компиляция. Перетащите новый элемент управления из верхней части панели инструментов на форму.