飞溅屏幕后没有显示最大化窗口

本文关键字:显示 最大化 窗口 屏幕 | 更新日期: 2023-09-27 18:05:47

我有一个带有闪屏的应用程序。当闪屏消失时,窗口打开了一小段时间,然后我的应用程序回到后台(就像最小化一样)。为什么会发生这种情况?我的表单启用了WindowState = Maximized

public Main()
{
    //Splashscreen and new window
    initializeWindow();
}
 public void SplashScreen()
{
    Application.Run(new SplashScreen());
}
 private void initializeWindow()
{
    //Start new Thread which shows Splash Screen
    Thread t = new Thread(new ThreadStart(SplashScreen));
    t.Start();
    //Wait 3 seconds
    Thread.Sleep(3000);
    InitializeComponent();
    //Initialize form
    t.Abort();
    //Abort and make main form the top form
    //TopMost = true; <-- I commented this because it makes other applications not open unless if I minimize the window
}

飞溅屏幕后没有显示最大化窗口

暂停主线程不是一个"健康"的解决方案,我建议这样做:

  1. 不打开主窗口,打开闪屏表单。
  2. 在闪屏表单中设置一个定时器来关闭它。
  3. 在闪屏的FormClosed事件中打开主窗口。