当前位置:   article > 正文

C# 桌面应用添加启动等待画面(SplashScreen)_c# splashscreen

c# splashscreen

最近闲下来,准备看看优化一下公司的旧系统,首先应用打开时没有启动等待画面,如果初始化应用时间过长会让用户认为没有启动成功,所以启动画面是很有必要的,先弄这个吧。

很多文章都对DevExpress的SplashScreenManager控件进行详细的应用实例介绍,我就不再介绍这个控件了,具体文章可以查看这两个文章:
SplashScreenManager控件介绍
SplashScreen和WaitForm使用

还有一种更简单的方式来创建一个启动画面(如果不需要加载进度条展示的话),只需要新建一个Form窗体FormSplashScreen,将窗体属性FormborderStyle设为None,设置BackgroundImage背景图为欢迎界面图。
在这里插入图片描述
然后在主界面的构造函数中创建FormSplashScreen实例并展示,然后在应用初始化加载结束后关闭这个画面即可,足够简单和实用。代码如下:

    //程序开启时等待界面
    FormSplashScreen formSplashScreen = null;

    public FormMain()
        {
            //时间格式化解决iis时间格式问题
            Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN", true) 
            { DateTimeFormat = { ShortDatePattern = "yyyy-MM-dd", FullDateTimePattern = "yyyy-MM-dd HH:mm:ss", LongTimePattern = "HH:mm:ss" } };
            //系统配置初始化
            InitializeComponent();
            
            //展示启动画面
            //this.WindowState = FormWindowState.Minimized; //将主界面的边框尺寸设置为最小 
            formSplashScreen = new FormSplashScreen();
            formSplashScreen.Show();
            
            #region 应用初始化准备 例如:
            //定义服务端启动后窗口所在位置
            StartPosition = FormStartPosition.CenterScreen;
            //关闭对文本框的非线程操作检查  
            TextBox.CheckForIllegalCrossThreadCalls = false;
            //判断数据库是否可连接:解决数据库连不上时点击软件没有反应的情况
            if (!netDataCtrlBLL.SqlConnect()) 
            {
                //数据库连接不上时,给出提示
                MessageBox.Show("数据库无法连接,请检查配置信息和数据库是否存在!", "初始化错误信息提示");
                formSplashScreen.Dispose();
                this.Dispose();
            }
            LogHelper.WriteLog("*********系统初始化时数据库连接成功**********");
            //系统初始化时进行历史数据备份
            //设定定时器
            setTaskAtFixedTime();
            try
            {
                netDataCtrlBLL.byteDataInsertH();
                LogHelper.WriteLog("*********系统初始化时历史数据备份成功**********");
            }
            catch(Exception ex)
            {
                MessageBox.Show("历史数据备份失败!错误原因: " + ex.Message, "错误信息提示");
                LogHelper.WriteLog("*********历史数据备份失败!错误原因: " + ex.Message +"*********");
            }
            #endregion

            formSplashScreen.Dispose();
            formSplashScreen.Close();
            //this.WindowState = FormWindowState.Normal; //展示主界面
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

完成。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/309560
推荐阅读
相关标签
  

闽ICP备14008679号