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

  • 相关阅读:
    3.STM32复位系统
    3.CM3内核架构-寄存器
    2.STM32启动文件
    java线程池
    java多线程
    动态规划(dynamic programming)(二、最优子问题与重叠子问题,以及与贪心的区别)
    SOAP协议
    动态规划(dynamic programming)(一、简介,举例)
    红黑树-RBT(二、基本操作之插入)
    红黑树-RBT(二、基本操作之左旋)
  • 原文地址:https://www.cnblogs.com/liang123/p/6325834.html
Copyright © 2011-2022 走看看