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

    ---------------------
    作者:神码编程
    来源:CSDN
    原文:https://blog.csdn.net/qq992817263/article/details/53941701
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    POJ 2386 Lake Counting
    POJ 1852 Ants
    HDU 4570 Multi-bit Trie
    HDU 4611 Balls Rearrangement
    ZOJ 3551 Bloodsucker
    HEU 百题解1001 谁是中间的那个
    BNU 1001 北师大ACM新手指导/ICPC introduction(1)
    BOJ 1580 Shoot
    BOJ 1578 Maximum
    BOJ 1577 Easy Game
  • 原文地址:https://www.cnblogs.com/dakang1/p/9908586.html
Copyright © 2011-2022 走看看