2009-04-24 14 views
5

Beim Übergeben des Ereignisses DataGridView.Scroll können Sie prüfen, ob das Ende des Scrolls eingetreten ist (wenn Sie die Scroll-Leiste mit der Maus ziehen, vermutlich wenn die Maustaste losgelassen wird).DataGridView Scroll-Ereignis (und ScrollEventType.EndScroll)

Das Problem ist, dass dies scheint nie zu passieren. e.Type ist nie ScrollEventType.EndScroll

Was ist falsch daran? Wie kann ich etwas nur tun, wenn das Scrollen beendet ist?

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

Antwort

5

Nun, es scheint, dass dieses Ereignis nur abgehört wird.

Sie können die privaten Bildlaufleistenobjekte des DGV (über Reflektion) zwischenspeichern und deren Ereignisse behandeln, wobei ScrollEventType.EndScroll wie erwartet angezeigt wird.

Siehe diesen this Link für wie es geht.

Verwandte Themen