Setting RowCount on DataGridView in Virtual Mode is really slow.
When using a data grid view in Virtual Mode, you have to manually specify the RowCount. This is sometimes really slow, especially when dealing with a huge volume of data. Performance is going to be amazingly slow if you need to decrease the row count (in my case, setting the row count was taking longer than 20 seconds).
The way to improve this is to clear the rows on the data grid view before you set the row count (possibly on the ListChange event on the binding source).
By doing so, this will improve the performance enormously (from over 20 seconds, down to less than a second).
Speeding up setting of DataGridView.RowCount
implementing virtual mode for a datagridview that is databound