【CSharp】【SplashScreen】启动窗体

https://www.codeproject.com/Articles/5454/A-Pretty-Good-Splash-Screen-in-C

使用方式:

public FrmMain()
{
    InitializeComponent();
    this.Opacity = 0.0;
}

private void FrmMain_Load(object sender, EventArgs e)
{
            
    var task = Task.Run(() =>
    {
        try
        {
            SplashScreen.SplashScreen.ShowSplashScreen();
            Application.DoEvents();

            SplashScreen.SplashScreen.SetStatus("初始化数据库");
            DataQuery.DbHelper.InitQuery();

            // 配置文件
            SplashScreen.SplashScreen.SetStatus("加载配置文件");
            this.m_SystemParams = Program.ReadConfig();

            // 存储文件夹
            if (!Directory.Exists(this.m_SystemParams.ImagePath))
                Directory.CreateDirectory(this.m_SystemParams.ImagePath);

            // 扫码枪
            SplashScreen.SplashScreen.SetStatus("初始化扫码枪");
            this.m_SerialHelper = new SerialHelper(this.m_SystemParams);
            this.m_SerialHelper.ConnectedStateChanged += SerialHelper_ConnectedStateChanged;
            this.m_SerialHelper.DataAvailable += SerialHelper_DataAvailable;

            // PLC
            SplashScreen.SplashScreen.SetStatus("初始化控制器");
            this.m_SnapHelper = new SnapHelper(this.m_SystemParams);
            this.m_SnapHelper.ConnectedStateChanged += SnapHelper_ConnectedStateChanged;

            // MSC
            SplashScreen.SplashScreen.SetStatus("初始化MSC");
            this.m_MscHelper = new MscHelper(this.m_SystemParams);
            this.m_MscHelper.ConnectedStateChanged += MscHelper_ConnectedStateChanged;
            this.m_MscHelper.DataAvailable += MscHelper_DataAvailable;

            // Camera
            SplashScreen.SplashScreen.SetStatus("初始化相机");
            this.m_CameraHelper = new CameraHelper(this.m_SystemParams);
            this.m_CameraHelper.ConnectedStateChanged += CameraHelper_ConnectedStateChanged;
            this.m_CameraHelper.DataAvailable += CameraHelper_DataAvailable;

            SplashScreen.SplashScreen.SetStatus("连接扫码枪");
            this.m_SerialHelper.Connect();

            SplashScreen.SplashScreen.SetStatus("连接MSC");
            this.m_MscHelper.Connect();

            SplashScreen.SplashScreen.SetStatus("连接PLC");
            this.m_SnapHelper.Connect();

            SplashScreen.SplashScreen.SetStatus("连接相机");
            this.m_CameraHelper.Connect();

                    
            SplashScreen.SplashScreen.CloseForm();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    });
    task.Wait();

    this.Opacity = 1.0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhy29563

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值