小编COD*_*ODe的帖子

.NET Splash屏幕问题

我有一个通过Shown事件调用的C#数据库应用程序的启动画面.启动屏幕包含一些在调用主窗体的构造函数时预处理的信息,因此我使用了Shown事件,因为该信息应该可用.

但是,当显示启动画面时,主窗体会变白,菜单栏,底部菜单栏,甚至灰色背景都是白色和不可见的.看起来程序正在挂起,但是在我内置的5秒延迟之后,横幅消失了,程序正常显示.此外,在横幅上,我有标签,当启动画面显示时不显示...

这是我的代码,为什么它不起作用背后的一些推理会有很大帮助.

SPLASH屏幕代码:

public partial class StartupBanner : Form
{
    public StartupBanner(int missingNum, int expiredNum)
    {
        InitializeComponent();
        missingLabel.Text = missingNum.ToString() + " MISSING POLICIES";
        expiredLabel.Text = expiredNum.ToString() + " EXPIRED POLICIES";
    }
}
Run Code Online (Sandbox Code Playgroud)

来电代码:

    private void MainForm_Shown(object sender, EventArgs e)
    {
        StartupBanner startup = new StartupBanner(missingPoliciesNum, expiredPoliciesNum);
        startup.MdiParent = this;
        startup.Show();

        Thread.Sleep(5000);
        startup.Close();
    }
Run Code Online (Sandbox Code Playgroud)

使用startup.ShowDialog()在启动屏幕上显示正确的标签信息,但这会锁定应用程序,并且我需要在大约5秒后消失,这就是为什么它会引起轰动.;)

.net c# splash-screen

3
推荐指数
1
解决办法
3158
查看次数

标签 统计

.net ×1

c# ×1

splash-screen ×1