I have a winforms application in which I am using 2 Forms to display all the necessary controls. The first Form is a splash screen in which it tells the user that it it loading etc. So I am using the following code:
Application.Run( new SplashForm() );
Once the application has completed loading I want the SplashForm to hide or me sent to the back and the main from to be show. I am currently using the following:
private void showMainForm() { this.Hide(); this.SendToBack(); // Show the GUI mainForm.Show(); mainForm.BringToFront(); }
What I am seeing is that the MainForm is shown, but the SplashForm is still visible ‘on top’. What I am currently doing is clicking on the MainForm to manually bring it to the front. Any ideas on why this is happening?
Probably you just want to close the splash form, and not send it to back.
I run the splash form on a separate thread (this is class SplashForm):
and the main program function looks like this: