在DevExpress程序中使用SplashScreenManager控件实现启动闪屏和等待信息窗口

简介:

在我很早的WInform随笔《WinForm界面开发之"SplashScreen控件"》有介绍如何使用闪屏的处理操作,不过那种是普通WInform和DevExpress都适用的方案,如果是基于DevExpress,那么可以使用更简便的方式,就是本文介绍的在DevExpress程序中使用SplashScreenManager控件实现启动闪屏和等待信息窗口,这个SplashScreenManager很好的封装了日常WInform程序中用到的启动闪屏窗口和在耗时操作中进行等待提示的信息窗口,合理使用可以增加程序界面的友好交换。

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();
    }
}

最后在数据更新的时候,我们调用上面的函数

 

这样就实现了两种界面效果的处理了:启动闪屏显示、数据操作的等待信息,这两个控件还可以在中间过程中调用更多的事件函数处理,如SendCommand等,从而实现更进一步的信息显示。

本文转自博客园伍华聪的博客,原文链接:在DevExpress程序中使用SplashScreenManager控件实现启动闪屏和等待信息窗口,如需转载请自行联系原博主。



目录
相关文章
|
2月前
|
Windows
一打开IE就弹广告窗口和工作联系的消息框……搞定
一打开IE就弹广告窗口和工作联系的消息框……搞定
|
数据可视化
PyQt5-如何设置主窗口居中?退出应用程序如何操作?
PyQt5-如何设置主窗口居中?退出应用程序如何操作?
91 0
QT软件开发: 打开的窗口默认处于屏幕中间
QT软件开发: 打开的窗口默认处于屏幕中间
250 0
QT软件开发: 打开的窗口默认处于屏幕中间
QT应用编程: QSlider设置滚动块定位到鼠标点击的地方
QT应用编程: QSlider设置滚动块定位到鼠标点击的地方
551 0
QT应用编程: QSlider设置滚动块定位到鼠标点击的地方
Qt-网易云音乐界面实现-1 窗口隐藏拖拽移动,自定义标题栏
最近也换了公司,也换了新的工作,工资也象征性的涨了一点点,但是最近心里还是慌慌,不知道为什么,没有那种踏实感,感觉自己随时可以被抛弃的感觉。感觉自己在荒废时间,也感觉自己在浪费生命。
300 0
Qt-网易云音乐界面实现-1 窗口隐藏拖拽移动,自定义标题栏
|
调度 Windows
Mac 技术篇-触发角功能设置一步回到桌面、快速锁屏、展示启动图应用列表
Mac 技术篇-触发角功能设置一步回到桌面、快速锁屏、展示启动图应用列表
177 0
Mac 技术篇-触发角功能设置一步回到桌面、快速锁屏、展示启动图应用列表
vs2010中工具箱不显示DevExpress控件的解决办法
vs2010中工具箱不显示DevExpress控件的解决办法 开始安装时,在vs2010中工具箱正常显示开发快车DevExpress10.2控件, 几次打开关闭项目后,有时就出现工具箱中全部或大部分DevExpress控件就不显示了(包括c/s 和b/s项目) 然后在网上搜索,cmd下重新注册后正常:   找到目录D:\Program Files\DevExpress 2010.
2584 0
|
C#
[WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口
原文:[WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口                            [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口                                              周银辉 现象: 大家可以...
1254 0