我正在尝试实现类似于解决问题的启动画面 Splash Screen waiting until thread finishes
在我的情况下,我不需要线程。 DefineAlternateFrm
构造函数完成后,我想要一个登录提示。没有登录,它可以正常工作:一旦完成defineAlternateFrm
中的构造函数,就会显示表单。
添加登录表单时,其行为有所不同:登录表单提示符出现在defineAlternateFrm
的构造函数之前。很奇怪,因为没有线程,所以一旦调用实例化defineAlternateFrm
,我就会期待提示。然后,如果登录成功,它将显示defineAlternateFrm
。
我的代码:
static class Program
{
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
new MyApp().Run(args);
}
}
class MyApp : WindowsFormsApplicationBase
{
protected override void OnCreateSplashScreen()
{
this.SplashScreen = new SplashScreen();
}
protected override void OnCreateMainForm()
{
var defineAlternateFrm = new DefineAlternateFrm(); // some works done
var login = new LoginFrm();
login.ShowDialog();
// Then create the main form, the splash screen will close automatically
this.MainForm = defineAlternateFrm ;
}
}