我正在编写一个从实时引擎获取数据并对其进行处理的应用程序。此数据每 5 秒更新一次。
现在我想要一个启动画面来显示第一个数据获取周期的进度条。第一次获取数据后,应用程序将打开显示所获取数据的主窗体。从这里开始,主窗体每 5 秒循环获取一次数据。
我已经把打开主窗体的代码放在了 BackgroundWorker 的 ProgressChanged 事件中。
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = Math.Min(e.ProgressPercentage, 100);
if (progressBar1.Value == 100)
{
SplashScr.ActiveForm.Hide();
frmMainForm frmMain= new frmMainForm();
frmMain.WindowState = FormWindowState.Maximized;
frmMain.Show();
}
}
有没有什么方法可以在主窗体加载后关闭启动画面,或者这个实现是否正常?
最佳答案
我假设在您的 Program.Main
中您有以下内容:
Application.Run(new SplashForm());
如果是这样,这就是当您关闭启动窗体时您的应用程序关闭的原因。尝试这样的事情:
Application.Run(new MainForm());
然后从主窗体中显示启动窗体并从那一端处理它。
HTH
关于c# - 如何关闭闪屏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6578660/