如何拥有一个酷炫的应用程序启动画面? DevExpresswinform.net core
启动画面管理器允许您创建不同的启动画面,以下是您可以在设计时创建和自定义的初始屏幕。
主要功能包括:
- 非皮肤依赖外观。
- 支持设计时自定义。
- 可以在主表单启动时自动显示和关闭。
- 通过命令与启动表单进行交互。
在设计时创建和自定义启动画面
将SplashScreenManager组件拖放到窗体上,右键单击Visual Studio托盘中的组件,然后选择Add Splash Screen。
SplashScreenManager将新的SplashScreen 表单添加到您的项目中。
双击SplashScreen1.cs(SplashScreen1.vb)文件打开设计时编辑器。
您可以在Splash Screen中更改控件的布局,删除或添加自定义控件、更改默认标签和图像等。
注意:如果您需要使用自定义类扩展SplashScreen1.cs / .vb文件,请确保在您的自定义类声明之前,封装Splash Screen的类在这些文件中排在第一位。
在主窗体启动时自动显示和关闭启动屏幕
要在主窗体的启动时显示创建的启动屏幕,请确保将SplashScreenManager的激活启动表单设置为启动屏幕,打开SplashScreenManager的智能标记,然后检查Active Splash Form设置。
或者,您可以检查属性网格中的SplashScreenManager.ActiveSplashFormTypeInfo设置。
启动画面管理器将在主窗体启动时自动显示激活的启动画面,并在主窗体已完全初始化并显示后将其关闭。
启动画面设置
在自动模式下,您可以通过SplashScreenManager组件提供的属性访问和自定义初始屏幕的设置。
项目设置
您可以使用Project Settings窗口来指定应用程序设置,例如您可以启用DPI感知来根据DPI设置自动缩放应用程序。如果您将DevExpress表单用作主应用程序表单,则会自动应用这些设置。 但是,如果在主窗体之前显示启动画面,则不会自动应用这些设置。 若要应用设置,请在显示Splash Screen之前(例如在Splash Screen的构造函数中)调用WindowsFormsSettings.LoadApplicationSettings 方法。
C#
using DevExpress.XtraEditors; using DevExpress.XtraSplashScreen; public partial class SplashScreen1 : SplashScreen { public SplashScreen1() { WindowsFormsSettings.LoadApplicationSettings(); InitializeComponent(); this.labelCopyright.Text = "Copyright © 1998-" + DateTime.Now.Year.ToString(); } }
VB.NET
Imports DevExpress.XtraEditors Imports DevExpress.XtraSplashScreen Partial Public Class SplashScreen1 Inherits SplashScreen Public Sub New() WindowsFormsSettings.LoadApplicationSettings() InitializeComponent() Me.labelCopyright.Text = "Copyright © 1998-" & DateTime.Now.Year.ToString() End Sub End Class
显示并关闭代码中的启动画面
如上所述创建启动屏幕,清除启动画面管理器的激活启动表单(将其设置为 '(None)')。
若要显示和关闭启动画面,请使用静态SplashScreenManager.ShowForm 和SplashScreenManager.CloseForm方法。
C#
SplashScreenManager.ShowForm(typeof(SplashScreen1)); //... SplashScreenManager.CloseForm(); VB.NET SplashScreenManager.ShowForm(GetType(SplashScreen1)) '... SplashScreenManager.CloseForm()
启动屏幕设置
SplashScreenManager.ShowForm方法重载允许您指定窗体位置、延迟、启用淡入和淡出效果等。
要在所有其他窗体上方显示启动画面,可以启用SplashScreen.TopMost属性。
动态更新启动画面
启动屏幕显示在单独的线程中,您可以使用SplashScreenManager.SendCommand方法与激活的启动画面进行交互(例如更新其内容)。若要处理此方法发送的命令,请重写SplashScreen.ProcessCommand方法。
DevExpress技术交流群3:700924826 欢迎一起进群讨论