WPF显示初始界面--SplashScreen

WPF显示初始界面--SplashScreen

前言

WPF应用程序的运行速度快,但并不能在瞬间启动。当第一次启动应用程序时,会有一些延迟,因为公共语言运行时(CLR)首先需要初始化.NET环境,然后启动应用程序。

对于WPF中大型程序启动时需要较长时间加载底层控件而产生的空隙可以由加载界面来填充,以此减少软件空白期,增加交互体验

一、界面操作

将Build Action修改为SplashScreen

二、代码操作

在App.xaml.cs中重写OnStartUp方法

Resources 为存放该png文件的文件夹。
注意: 图片的 生成操作属性 设置为 "Resources "

csharp 复制代码
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            SplashScreen splashScreen = new SplashScreen("/Resource/splashscreen.png");
            splashScreen.Show(false);
            
 			//上面Show()方法中设置为true时,程序启动完成后启动图片就会自动关闭,
            //设置为false时,启动图片不会自动关闭,需要使用下面一句设置显示时间,例如2s
            splashScreen.Close(TimeSpan.FromSeconds(2));
            base.OnStartup(e);
        }
    }
相关推荐
一条闲鱼_mytube12 小时前
高并发短链接系统设计
wpf
一个天蝎座 白勺 程序猿1 天前
IoTDB集群扩容:从慌乱到从容的经验分享
数据库·wpf·时序数据库·iotdb
samble2 天前
从零搭建灌装监控系统(十三):报警系统设计,生命周期与通知
c#·wpf·mvvm·modbus·工业控制
samble3 天前
从零搭建灌装监控系统(十二):配置系统,原子写入与容错
c#·wpf·mvvm·modbus·工业控制
蜗牛互联网5 天前
OLMo-core 3的token gerrymandering提醒:MoE路由要按时间窗验收
java·人工智能·wpf
LateFrames6 天前
WPF 升级选型:用 .NET 8 还是 .NET 10
.net·wpf·.net8·.net10
samble6 天前
从零搭建灌装监控系统(十):生产追溯,条码触发自动记录
c#·wpf·mvvm·modbus·工业控制
SamChan908 天前
PDF页面旋转与CropBox陷阱:译文回填位置总是错位的根因实测
python·ai·pdf·wpf
SamChan909 天前
PDF翻译时页眉页脚总在捣乱?跨页重复文本块的检测与过滤实测
人工智能·python·ai·pdf·wpf
samble16 天前
从零搭建灌装监控系统(四):深色主题与样式系统,ResourceDictionary 统一管理
c#·wpf·mvvm·样式·工业控制