在DevExpress程序中使用SplashScreenManager控件实现启动闪屏和等待信息窗口
1、SplashScreenManager控件的使用
这个控件一般人很少注意到,毕竟不是很常用,我们可以通过在控件工具箱里面进行搜索,找到后拖动到WInform窗口即可,如下界面所示。
然后在SplashScreenMananger控件的右上角上单击三角符号,利用连接按钮添加两个窗口,一个是启动界面的闪屏窗口,一个是等待界面窗口。
最后得到两个新建的界面,稍作调整就可以使用在程序中了。
2、SplashScreenManager控件的调用
上面我们通过控件手工添加的方式增加了两个界面窗体,如果需要在程序中使用,那么需要进行一定的代码调用处理。
例如我们在程序启动的时候,程序入口的代码修改如下。
其中启动闪屏窗口的代码就是
//显示闪屏窗体 SplashScreenManager.ShowForm(typeof(FrmSplashScreen)); Thread.Sleep(3000);
在主程序窗体中,我们加载完毕界面后,我们需要手工关闭闪屏窗体的显示,代码如下所示。
而在界面中,如果我们需要显示等待窗口,如在耗时的数据获取和更新操作上,我们可以提示用户等待一下,那么这个时候就应该做等待信息窗口的显示了,如下界面效果所示。
为了实现上面的操作,我们可以对这个窗口的调用做一些简单的初始化和封装处理,如下代码所示。
private SplashScreenManager _loadForm; /// <summary> /// 等待窗体管理对象 /// </summary> protected SplashScreenManager LoadForm { get { if(_loadForm == null) { this._loadForm = new SplashScreenManager(this, typeof(FrmWaitForm), true, true); this._loadForm.ClosingDelay = 0; } return _loadForm; } } /// <summary> /// 显示等待窗体 /// </summary> public void ShowMessage() { bool flag = !this.LoadForm.IsSplashFormVisible; if (flag) { this.LoadForm.ShowWaitForm(); } } /// <summary> /// 关闭等待窗体 /// </summary> public void HideMessage() { bool isSplashFormVisible = this.LoadForm.IsSplashFormVisible; if (isSplashFormVisible) { this.LoadForm.CloseWaitForm(); } }
最后在数据更新的时候,我们调用上面的函数