Ах, вы используете Visual Basic Appplication Framework для запуска заставки?
Попробуй это.
Это из быстрого приложения Forms - обратите внимание, что я оставил все имена и пространство имен по умолчанию, поэтому вам может потребоваться изменить это для своего кода. Проект имеет только две формы. Form2 это заставка. Я вставил на него фоновое изображение, чтобы оно нормально отображалось и могло отличить его от Form1.
Я добавил ссылку на .NET Microsoft.VisualBasic в свой проект.
Это из файла program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using Microsoft.VisualBasic.ApplicationServices;
namespace WindowsFormsApplication1
{
static class Program
{
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
new MyApp().Run(args);
}
}
public class MyApp : WindowsFormsApplicationBase
{
protected override void OnCreateSplashScreen()
{
this.SplashScreen = new Form2();
}
protected override void OnCreateMainForm()
{
// Do your initialization here
//...
System.Threading.Thread.Sleep(5000); // Test
// Then create the main form, the splash screen will automatically close
this.MainForm = new Form1();
}
}
}
Я знаю, что это отличается от того, что вы используете, но, похоже, работает.