We are using v10.1 in a windows form application in c# 3.5 SP1. Ever since we upgraded to that version from 9.2 we get a lot of complaints that while the application is processing something, and therefore the UI is not able to be interacted with, the grid goes black. We assume this is to help conserve resources on the machine by not redrawing the controls while the application is processing but we are wondering if there is a way to prevent this. We do suspend row syncronization and layout during these processes that black out the grid in order to gain some performance through that. Any help would be appreciated.
Hi,
It sounds to me like your application is performing some long, blocking operation and the grid cannot paint itself.
If you are calling BeginUpdate on the grid, this will cause the grid to stop painting, so if you move some other window over the grid and then move it away while this is happening, whatever was over the grid will just sort've stay there and the grid will not repaint.
I'm not sure why the grid would go black unless something is painting over it with black.
Either way, if you are using BeginInvoke or your application is some tight loop, then there's not much you can do about this except force the grid to Paint by calling the Update method on it inside this loop.
The issue was exacerbated by messageboxes taht were providing the users with feedback. I went ahead and started Resyncing and updating prior to showing a popup and resuspending after coming back from the popup and it seems to help a lot. Thanks.