SplashScreenManager控件:主要作用是显示在进行耗时操作时的等待界面;

位于 工具箱 -> Navigation & Layout(导航栏与布局类控件) 目录下;

在工具箱输入名称SplashScreenManager检索,然后直接拖拽到面板上便可使用;

SplashScreenManager控件整体属性描述:(选中SplashScreenManager控件实例,打开属性窗口)

蓝色为常用属性    红色为未知属性、几乎不会用到或很少用到的属性、其他托管属性、暂时不需要我们去处理的属性

Behavior(行为)  
    Properties(属性)  
        AllowGlowEffect (bool)开启发光特效(目前测试了并未看出效果)
        ClosingDelay (int)淡入淡出效果的延迟时间(毫秒)
        UseFadeInEffect (bool)使用淡入效果
        UseFadeOutEffect (bool)使用淡出效果
SplashForms  
        ActiveSplashFormTypeInfo (SplashScreen)当前激活的加载界面
布局  
        SplashFormLocation(X,Y) (int)加载界面在屏幕上的位置
SplashFormStartPosition (enum)加载界面初始位置,为Manual时上一个属性生效
设计  
        (Name) (string)控件名称,用于在代码中引用(唯一性)
GenerateMember (bool)在实例中生成成员变量
Modifiers (enum)成员变量的修饰词
数据  
    (ApplicationSettings)  
(PropertyBinding) 未知
   

一、新建一个加载界面:

SplashScreenManager控件只是作为加载界面的统一管理器,我们要使用加载界面,需要自行创建加载界面,两种方法如下:

1、点击SplashScreenManager控件右上角的三角箭头点开任务列表,然后点击Add Splash Screen,便可以创建一个SplashScreen窗口,创建完成之后可以在项目资源管理器中看到此窗体,并自动将其设置为当前激活的加载界面,这个设置为当前激活界面有什么用呢,其实没什么用:

然后下面会有4个属性设置,正好是对应上方属性栏中的前四个属性。

2、在项目资源管理器中直接创建SplashScreen窗口:

步骤:右击项目名称 -> 添加 -> windows窗体 -> DevExpress v15.2 Template Gallery -> Splash Screen -> Add Item

创建完成之后,点击SplashScreenManager控件右上角的三角箭头点开任务列表,在Active Splash Form一栏选择我们刚创建的SplashScreen窗口,将其手动设置为当前激活的加载界面:

二、使用加载界面

在代码中使用加载界面,打开Form1.cs(自己的主窗口类),在构造函数中加入如下代码:
public Form1()
{
//系统资源加载
Loading(); InitializeComponent(); //加载完成
LoadingCompleted();
}
/// <summary>
/// 系统资源加载
/// </summary>
private void Loading()
{
SplashScreenManager.ShowForm(typeof(SplashScreen1));
Thread.Sleep(5000);
//加载资源
}
/// <summary>
/// 加载完成
/// </summary>
private void LoadingCompleted()
{
SplashScreenManager.CloseForm();
}

运行一下,我们便可以看到一个不错的加载界面效果,在模拟的资源加载(睡眠5秒)之后便打开主窗体:

详解:
显示加载界面的方法,如下:
1、SplashScreenManager.ShowForm(typeof(你的SplashScreen名));
  这里的SplashScreen可以是当前场景中的任何一个SplashScreen窗口,并非一定是刚才那个设置为当前激活窗口的属性。
关闭加载界面的方法,如下:
2、SplashScreenManager.CloseForm();
  这个方法可以关闭当前程序里的所有加载窗口,包括后面要说的等候窗口。

三、新建一个等候界面

SplashScreenManager控件只是作为等候窗口的统一管理器,我们要使用在耗时操作显示的等候界面,需要自行创建等候界面,两种方法如下:

1、点击SplashScreenManager控件右上角的三角箭头点开任务列表,然后点击Add Wait Form,便可以创建一个WaitForm窗口,创建完成之后可以在项目资源管理器中看到此窗体,并自动将其设置为当前激活的等候窗口,这个设置为当前激活窗口有什么用呢,对于等候窗口还是有用:

2、在项目资源管理器中直接创建WaitForm窗口:

步骤:右击项目名称 -> 添加 -> windows窗体 -> DevExpress v15.2 Template Gallery -> Progress Indicator -> Add Item

创建完成之后,点击SplashScreenManager控件右上角的三角箭头点开任务列表,在Active Splash Form一栏选择我们刚创建的WaitForm窗口,将其手动设置为当前激活的等候界面:

四、使用等候界面

在代码中使用等候界面(执行一些耗时操作时这样做是非常友好的),打开Form1.cs(自己的主窗口类),在构造函数中加入如下代码:
        public Form1()
{
InitializeComponent(); //系统资源加载
Loading(); //加载完成
LoadingCompleted();
}
/// <summary>
/// 系统资源加载
/// </summary>
private void Loading()
{
splashScreenManager2.ShowWaitForm();
Thread.Sleep(5000);
//加载资源
}
/// <summary>
/// 加载完成
/// </summary>
private void LoadingCompleted()
{
splashScreenManager2.CloseWaitForm();
}

运行一下,我们便可以看到一个不错的等候界面效果,在模拟的资源加载(睡眠5秒)之后便打开主窗体(不过等候窗口不适合用在启动时,我这里只是做个例子哈):

详解:
显示等候界面的方法不同于加载界面,有两种,如下:
1、实例法:用实例的当前激活界面显示(所以SplashScreenManager那个属性Active Splash Form对于WaitForm有用,用处就是将当前实例绑定到该WaitForm)
你的SplashScreenManager实例名.ShowWaitForm();
  这里只会显示“你的SplashScreenManager实例名”的属性Active Splash Form对应的WaitForm。
2、全局法:用SplashScreenManager类显示
SplashScreenManager.ShowForm(typeof(你的WaitForm名));

关闭等候界面的方法,对应两种显示方法而不同,如下:
1、你的SplashScreenManager实例名.CloseWaitForm();
2、SplashScreenManager.CloseForm();

结语:

好了,基本情况就是这样了,对于加载界面以及操作等候界面说起来也就是两个Form而已,可以自己定制很多东西,当然其实不用借助SplashScreenManager控件也很好实现这两种需求,主要就是一个显示窗口及隐藏窗口的操作。

Winform DevExpress控件库(二) 使用SplashScreenManager控件定制程序加载页面的更多相关文章

  1. 使用SplashScreenManager控件定制程序加载页面

    需要devexpress版本在12.0及以上才支持 https://www.cnblogs.com/wuhuacong/p/6112461.html 在DevExpress程序中使用SplashScr ...

  2. 转:zTree树控件实战篇:针对多个下拉加载zTree树应该如何做出合理的配置

    今天有一个zTree的朋友遇到一个非常棘手的问题,才研究zTree树控件两天就被上头催着看成果,很是苦恼.他面对的问题就是页面内多个地方需要下拉在其文本框下方加载zTree树,由于对zTree下拉加载 ...

  3. jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法

    博客分类: jquery-easyui jQueryAjax框架HTML  现象: AJAX返回的html无法做到自动渲染为EasyUI的样式.比如:class="easyui-layout ...

  4. 【Android-自定义控件】SwipeRefreshDemo 下拉刷新,上拉加载

    参考:https://github.com/PingerOne/SwipeRefreshDemo 谷歌官方的SwipeRefreshLayout控件,只有下拉刷新功能. 自定义的SwipeRefres ...

  5. MyBatis Java不同方式加载文件时的路径格式问题、Mybatis中加载.properties文件

    public class LoadPropTest { public static void main(String[] args) throws IOException { //一.Properti ...

  6. u-boot移植总结(二)LED点灯调试 和 u-boot加载地址

    (一)LED点灯调试 FL2440电路总共有4个LED0,LED1,LED2,LED3,分别接到板子GPB5,GPB6,GPB8,GPB10引脚.通过设置三个寄存器GPBCON(0x56000010) ...

  7. jQuery的JS库在本地运行项目时提示无法加载

    最近公司有个项目在我本地运行时引用本地的jquery.js,浏览器提示无法加载 <script src="/js/newperson/jquery-1.11.3.min.js" ...

  8. 构建基于Chromium的应用程序(Winform程序加载Html页面)

    chromium是google chrome浏览器所采用的内核,最开始由苹果的webkit发展而出,由于webkit在发展上存在分歧,而google希望在开发上有更大的自由度,2013年google决 ...

  9. 1. AE二次开发——地图的基本操作(加载地图文档,加载shape,加载mdb,地图的保存,缩放,漫游)

    1. 加载数据Icommand方法 ICommand Butdata = new ControlsAddDataCommandClass(); Butdata.OnCreate(axMapContro ...

随机推荐

  1. Mysql:查用的基本操作

    查看MySQL提供什么存储引擎: mysql> show engines; 查看MySQL当前默认的存储引擎: mysql> show variables like '%storage_e ...

  2. Spring基础复习

    Spring IOC 使用注解实现Bean管理 注解类型: @Component:spring定义的通用注解,可用于注解任何bean @Repository, @Service,@Controller ...

  3. [ZooKeeper] 1 基本概念

    ZooKeeper: A Distributed Coordination Service for Distributed Applications ZooKeeper is a distribute ...

  4. [LeetCode] String Compression 字符串压缩

    Given an array of characters, compress it in-place. The length after compression must always be smal ...

  5. [LeetCode] Find Mode in Binary Search Tree 找二分搜索数的众数

    Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occurred ...

  6. AXIOS源代码重点难点分析

    摘要 vue使用axios进行http通讯,类似jquery/ajax的作用,类似angular http的作用,axios功能强大,使用方便,是一个优秀的http软件,本文旨在分享axios源代码重 ...

  7. pytorch 移动端框架 thnets 附c示例代码

    前年年前做一个手机移动端图像识别项目的时候, 先后尝试了mxnet,thnets,caffe,tensorflow. 当时的情况是,mxnet内存管理奇差,内存经常由于模型运算分配不足,app挂掉. ...

  8. mysql 从聚合函数group by到sql_mode

    说到group by, 想必大家都不陌生, 就是对查询的数据进行分组,我们可以通过该操作实现一些特殊需求,比如去重. 最近在项目中使用HQL:" from TSjrz where CBh = ...

  9. Linux(七)开机,重启和用户登录注销

    7.1 关机&重启命令 基本介绍: shutdown -h now       立刻进行关机 shutdown -h 1            1分钟后关机 shutdown -r now  ...

  10. 51 nod 1421 最大MOD值

    1421 最大MOD值 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 有一个a数组,里面有n个整数.现在要从中找到两个数字(可以 ...