c# - 如何关闭闪屏?

标签 c# .net winforms

我正在编写一个从实时引擎获取数据并对其进行处理的应用程序。此数据每 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/

相关文章:

c# - 使用 TPL 数据流在预定义 block 之上创建可重用的处理逻辑?

c# - .Net 控件在计算机之间更改大小

c# - 检测 USB 串口适配器物理断开

c# - 在 Windows 窗体应用程序中 Hook 消息循环?

vb.net - ReportViewer.LocalReport.Render ("PDF")

c# - 如何使用 MainMenu 在状态栏上显示与菜单项相关的文本?

c# - 以编程方式将面板的图像设置为不在资源中的 jpg 文件?

java - C# 相当于 Java 内存映射方法

.net - Caliburn.Micro 设置控件的状态

c# - FluentValidation、Validators 生命周期和使用 Validators 检查 Db