我在运行主窗体之前立即启动一个新线程来显示启动窗体。
在此线程运行的方法中,我正在使用 Application.Run,如下面的选项 1 所示。这是执行此操作的正确方法,还是因为我调用了 Application.Run 两次而有问题等着我?另一种方法是选项 2,如下所示,我调用 .ShowDialog() 来显示表单。
初始表单本身会在指定时间后关闭,在表单本身内进行控制,这两个选项似乎都运行良好。
所以我的问题是:哪个是首选 - 选项 1 还是选项 2?如果您能给出其中一个或另一个的具体原因,那就太好了。
谢谢。
主要片段:
// Run splash screen thread.
Thread splash = new Thread(new ThreadStart(ShowSplash));
splash.Start();
// Run main application.
Application.Run(new MainForm());
显示初始表单选项 1:
static void ShowSplash()
{
Application.Run(new SplashForm());
}
显示初始表单选项 2:
static void ShowSplash()
{
using (SplashForm splash = new SplashForm())
{
splash.ShowDialog();
}
}
最佳答案
选项 2 可能会遇到麻烦,因为您使用与 MainForm 相同的 Messageloop,但来自另一个线程。
选项 1 没问题。
关于c# - 启动画面显示方法最佳实践C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1673568/