DataGridView Scroll事件(和ScrollEventType.EndScroll)

处理DataGridView.Scroll事件时,您可以检查它是否是滚动的结尾(当使用鼠标拖动滚动条时,这可能是在释放鼠标按钮时)。

问题是这似乎永远不会发生。 e.Type永远不会是ScrollEventType.EndScroll

这有什么问题? 如何滚动完成后我该怎么办?

  private void dataGridView_Scroll(object sender, ScrollEventArgs e) { if (e.Type == ScrollEventType.EndScroll) { // ... } } 

好吧,似乎这个事件只是被窃听了。

您可以锁定DGV的私有滚动条对象(通过reflection)并处理它们的事件,其中ScrollEventType.EndScroll按预期显示。

请参阅此链接以了解如何执行此操作。