The concept of a splash screen doesn\'t strike me as something that should be so complicated, but I\'m having trouble getting the whole splash screen painted.
Let\'s
You can use the await command with .Net Framework 4.5 Your form will not be visible until the task is completed
private void YourForm_Load(object sender, EventArgs e)
{
//call SplashScreen form
SplashScreen splash = new SplashScreen();
splash.Show();
Application.DoEvents();
//Run your long task while splash screen is displayed i.e. loadAndCheckDatabase
Task processLongTask = loadAndCheckDatabase();
//wait for the task to be completed
processLongTask.Wait();
splash.Close();
//...
}