Próbuje zrobić splash screena do gry w XNA postanowiłem ze będzie nim zwykła forma z 2 PictureBox`ami. Uruchamiając normalnie.
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new SpashScreen());
using (Game1 game = new Game1())
{
game.Run();
}
Program czeka na zamkniecie formy przez użytkownika i dopiero potem uruchamia grę. Zrobiłem to 2 innymi sposobami lecz nie działają do końca dobrze

internal static SpashScreen splash_screen;
static void Main(string[] args)
{
splash_screen = new SpashScreen();
splash_screen.Show();
using (Game1 game = new Game1())
{
game.Run();
}
Ten sposób działa jak na razie najlepiej uruchamia sie i pozwala na uruchomienie ładowania gry i na końcu metody LoadContent wywołanie Program.splash_screen.Close(); skutkuje wyłączeniem po ładowaniu więc super

ale forma nie wyświetla swoich PictureBox`ów

Oraz ostatnia próba
internal static SpashScreen splash_screen;
internal static Thread sf;
static void show_splash()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(splash_screen);
}
static void Main(string[] args)
{
splash_screen = new SpashScreen();
sf= new Thread(new ThreadStart(show_splash));
sf.Start();
using (Game1 game = new Game1())
{
game.Run();
}
tu juz wyświetla elementy formy ok ale wywołanie Program.sf.Abort(); na końcu metody loadContent skutkuje chwilową zwiechą (czeka za najadę myszka na splash screena) następnie wyłączeniem formy i schowaniem okna gry na dalszy plan