【问题标题】:Maximized window doesn't show after splashscreen启动画面后不显示最大化的窗口
【发布时间】:2016-09-06 12:33:58
【问题描述】:

我有一个带有闪屏的应用程序。当闪屏消失时,窗口会在几分之一秒内打开最大化,然后我的应用程序会回到后台(就像它被最小化一样)。为什么会这样?我的表单启用了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
}

【问题讨论】:

标签: c# winforms


【解决方案1】:

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

  1. 不要打开主窗口,而是打开启动屏幕表单。
  2. 在初始屏幕表单中设置一个计时器来关闭它。
  3. 在启动画面的FormClosed 事件中打开主窗口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 2015-09-25
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多