Is there any way I can pause all UI Update commands in Winforms?
Or I have a slight feeling I’m trying to go about this the completely wrong way, so is there another way around my problem: I basically load a saved state of a control, which loads new controls all over it. However I do some of this in the UI thread, and some of the data loading from another thread, which then fills the UI.
So the effect I have when it is loading is that the user can see a few of the controls appearing in one place, then moving to another place on the form, changing values, etc.
I’d like to get a loading screen instead of this and load the controls in the background. It’s quite a large application and its not THAT important so redesigning my code isn’t really an option.
Can I simply stop all Update() commands on a control while a method is executing?
You can use the SuspendLayout and ResumeLayout methods to wrap the setup of UI in one operation (without the update of the rendering).
Basically (assuming
SomeMethodis in the form class):