Winform DevExpress控件库(二) 使用SplashScreenManager控件定制程序加载页面

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控件也很好实现这两种需求,主要就是一个显示窗口及隐藏窗口的操作。

posted on 2016-12-30 17:25  王亮1  阅读(368)  评论(0编辑  收藏  举报

导航