SplashScreenManager控件定制程序加载页面

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

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

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

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

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

一、新建一个加载界面:

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

举报 1 0
评论 4
还没有评论~
${cmt.author.nickname || cmt.author.name}

作者

考拉君

我:把灵魂洞穿 我投降能否帮我把记忆也关上? PM:好,先帮我上完功能的

专栏

专栏图片

Unity Mesh Editor模型自编系列

增删模型顶点、面,改变模型顶点位置以实现不需要借助于骨骼的顶点动画

已关注