赞
踩
最近闲下来,准备看看优化一下公司的旧系统,首先应用打开时没有启动等待画面,如果初始化应用时间过长会让用户认为没有启动成功,所以启动画面是很有必要的,先弄这个吧。
很多文章都对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; //展示主界面 }
完成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。