To reproduce: - Subscribe to the SelectionChanged event. - Move the mouse while holding the left button. - The event is fire multiple times. Workaround: VirtualGridCellInfo prevCell = null; private void OnGridSelectionChanged(object sender, EventArgs e) { if (prevCell != gvItems.CurrentCell) { _selectionChangedCount++; tbLog.AppendText("Selection changed " + _selectionChangedCount + "\r\n"); } prevCell = gvItems.CurrentCell; }