There is a solution like this that
into program file create a thread to the and its long sleep and then the main form is loaded. Of course, this is not a real loading
Enter this code to your program File:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
AppDomain.CurrentDomain.SetPrincipalPolicy(System.Security.Principal.PrincipalPolicy.UnauthenticatedPrincipal);
System.Threading.Thread spThread = new Thread(() => new Loading().ShowDialog());
spThread.Start();
Thread.Sleep(1000);
spThread.Abort();
Thread.Sleep(100);
Application.Run(new home());
}