zoukankan      html  css  js  c++  java
  • WFP loading 窗口显示 SplashScreen

     public partial class App : Application
      {
        protected override void OnStartup(StartupEventArgs e)
        {
          SplashScreen splashScreen = new SplashScreen("pic.jpg");
          splashScreen.Show(true);
          base.OnStartup(e);
        }
      }
    

    这个系统自带的 SplashScreen 不是太好,不能自定义。。。

    下面是我自定义的 SplashWind :

    canCloseSplash 用来判断是否可以关闭这个loading自定义窗口。原理是在主窗口的Loaded事件里设置 App.canCloseSplash =true;
    在自定义的SplashWind 里用个计时器检查 App.canCloseSplash 是否=true,等于的话就关闭自己。

     public partial class App : System.Windows.Application
        {
            public static bool canCloseSplash = false;
    
            protected override void OnStartup(System.Windows.StartupEventArgs e)
            {
                SplashWind splashWind = new SplashWind();
                splashWind.Show();
               // System.Windows.SplashScreen splashScreen = new System.Windows.SplashScreen("1.jpg");
              //  splashScreen.Show(true,true);
                base.OnStartup(e);
    
            }
        }
    

      

        public partial class SplashWind : Window
        {
            public SplashWind()
            {
                InitializeComponent();
                Topmost = true;
                t.Interval = TimeSpan.FromMilliseconds(30);
                t.Tick += new EventHandler(t_Tick);
                t.Start();
            } 
            
            DispatcherTimer t = new DispatcherTimer();
    
            void t_Tick(object sender, EventArgs e)
            {
                if (App.canCloseSplash) {
                    t.Stop();
                    Close();
                
                }
            }
    
        }
    

      

    SplashWind UI:


    <Window x:Class="TestWebBrowser.SplashWind"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="SplashWind" Height="313" Width="509"
            ResizeMode="NoResize" WindowStyle="None"   ShowInTaskbar="False"
    WindowStartupLocation="CenterScreen" Background="Blue" BorderThickness="5" BorderBrush="AliceBlue" 
            >
        <Grid>
            <Label Foreground="White" FontSize="22" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">Loading........</Label>
        </Grid>
    </Window>
    

    主窗口Loaded事件里告诉SplashWind可以关闭了:  

    void MainWindow_Loaded(object sender, RoutedEventArgs e)
    {
    App.canCloseSplash = true;
    }

  • 相关阅读:
    python高级 之(三) --- 高阶函数
    python高级 之(二) --- 类装饰器
    python高级 之(一) --- 函数类型
    jQuery
    css
    html
    px2rem
    keep-alive标签
    rem适配方案2(flexible.js)
    媒体查询
  • 原文地址:https://www.cnblogs.com/wgscd/p/9395926.html
Copyright © 2011-2022 走看看