2009-04-24 6 views
5

Lors de la transmission de l'événement DataGridView.Scroll, vous pouvez vérifier s'il s'agissait de la fin du défilement (lorsque vous faites glisser la barre de défilement à l'aide de la souris, c'est probablement lorsque le bouton de la souris est relâché).Événement Scroll DataGridView (et ScrollEventType.EndScroll)

Le problème est que cela ne semble jamais arriver. e.Type n'est jamais ScrollEventType.EndScroll

Qu'est-ce qui ne va pas? Comment puis-je faire quelque chose seulement quand le défilement se termine?

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

Répondre

5

Eh bien, il semble que cet événement est juste buggé.

Vous pouvez verrouiller sur les objets de la barre de défilement privée de la DGV (via la réflexion) et gérer leurs événements, où ScrollEventType.EndScroll apparaît comme prévu.

Voir ce lien this pour savoir comment faire.