WPF 启动页面 (原发布 csdn 2017-06-26 19:26:01)
如果我写的有误,请及时与我联系,我立即改之以免继续误导他/她人。
如果您有好的想法或者建议,请随时与我联系。
wpf软件启动时,加载启动页面。软件初始化完成之后关闭页面。
App.xaml.cs代码 (实现加载页面功能)
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
var thread = new Thread(new ThreadStart(() =>
{
WpfApplication1.MainWindow.window = new Window1();
WpfApplication1.MainWindow.window.Show();
WpfApplication1.MainWindow.window.Activate();
System.Windows.Threading.Dispatcher.Run();
}));
thread.SetApartmentState(ApartmentState.STA);
thread.IsBackground = true;
thread.Start();
base.OnStartup(e);
}
}
MainWindow.cs
public partial class MainWindow : Window
{
public static Window1 window = null;
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Thread.Sleep(1000*10);
if (window != null)
{
window.Dispatcher.BeginInvoke((Action) (() =>
{
window.Close();
}));
}
}
}
启动页面
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication1"
mc:Ignorable="d" WindowStartupLocation="CenterScreen"
Title="Window1" Height="300" Width="300" WindowStyle="None" MouseLeftButtonDown="Window_MouseLeftButtonDown">
<Grid>
<Image Name="splashScreenImage" Stretch="Fill" Grid.Row="0" Source="pp.jpg" />
<Canvas Height="120" HorizontalAlignment="Center" RenderTransformOrigin="0.5,0.5" VerticalAlignment="Center" Width="120">
<Canvas.RenderTransform>
<RotateTransform x:Name="SpinnerRotate" Angle="0" />
</Canvas.RenderTransform>
<Canvas.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard>
<BeginStoryboard.Storyboard>
<Storyboard>
<DoubleAnimation Duration="0:0:2" From="0" RepeatBehavior="Forever" Storyboard.TargetName="SpinnerRotate" Storyboard.TargetProperty="(RotateTransform.Angle)" To="360" />
</Storyboard>
</BeginStoryboard.Storyboard>
</BeginStoryboard>
</EventTrigger>
</Canvas.Triggers>
<Ellipse Canvas.Left="47.2783" Canvas.Top="0.5" Fill="Orange" Height="21.862" Opacity="1" Stretch="Fill" Width="21.835" />
<Ellipse Canvas.Left="20.1696" Canvas.Top="9.76358" Fill="Orange" Height="21.862" Opacity="0.9" Stretch="Fill" Width="21.835" />
<Ellipse Canvas.Left="2.86816" Canvas.Top="29.9581" Fill="Orange" Height="21.862" Opacity="0.8" Stretch="Fill" Width="21.835" />
<Ellipse Canvas.Left="5.03758e-006" Canvas.Top="57.9341" Fill="Orange" Height="21.862" Opacity="0.7" Stretch="Fill" Width="21.835" />
<Ellipse Canvas.Left="12.1203" Canvas.Top="83.3163" Fill="Orange" Height="21.862" Opacity="0.6" Stretch="Fill" Width="21.835" />
<Ellipse Canvas.Left="36.5459" Canvas.Top="98.138" Fill="Orange" Height="21.862" Opacity="0.5" Stretch="Fill" Width="21.835" />
<Ellipse Canvas.Left="64.6723" Canvas.Top="96.8411" Fill="Orange" Height="21.862" Opacity="0.4" Stretch="Fill" Width="21.835" />
<Ellipse Canvas.Left="87.6176" Canvas.Top="81.2783" Fill="Orange" Height="21.862" Opacity="0.3" Stretch="Fill" Width="21.835" />
<Ellipse Canvas.Left="98.165" Canvas.Top="54.414" Fill="Orange" Height="21.862" Opacity="0.2" Stretch="Fill" Width="21.835" />
<Ellipse Canvas.Left="92.9838" Canvas.Top="26.9938" Fill="Orange" Height="21.862" Opacity="0.1" Stretch="Fill" Width="21.835" />
</Canvas>
</Grid>
</Window>
private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
base.DragMove();
}
完整代码
WPF 启动页面 (原发布 csdn 2017-06-26 19:26:01)的更多相关文章
- 关于“关于C#装箱的疑问”帖子的个人看法 (原发布csdn 2017年10月07日 10:21:10)
前言 昨天晚上闲着无事,就上csdn逛了一下,突然发现一个帖子很有意思,就点进去看了一下. 问题很精辟 int a = 1; object b=a; object c = b; c = 2; 为什么b ...
- c# Equal函数 and 运算符'==' (原发布 csdn 2017年10月15日 20:39:26)
1.==.!=.<.>.<= 和>= 运算符为比较运算符(comparison operator).C#语言规范5.0中文版中比较运算符的描述如下: 2.通用类型系统 3.值类 ...
- WPF DataGrid显示MySQL查询信息,且可删除、修改、插入 (原发布 csdn 2018-10-13 20:07:28)
1.入行好几年了,工作中使用数据库几率很小(传统行业).借着十一假期回家机会,学习下数据库. 2.初次了解数据库相关知识,如果本文有误,还望告知. 3.本文主要目的,记录下wpf界面显示数据库信息,且 ...
- WPF DispatcherTimer一些个人看法 (原发布 csdn 2017-04-25 19:12:22)
wpf中的DispatcherTimer基本用法,本文不在叙述.主要写一些不同的,来提醒自己不要再犯同样错误. 前几天写代码时发现.当在非UI线程创建DispatcherTimer实例时,程序无法进入 ...
- wpf 单例模式和异常处理 (原发布 csdn 2017-04-12 20:34:12)
第一次写博客,如有错误,请大家及时告知,本人立即改之. 如果您有好的想法或者建议,我随时与我联系. 如果发现代码有误导时,请与我联系,我立即改之. 好了不多说,直接贴代码. 一般的错误,使用下面三个就 ...
- IEEE浮点表示 (原发布 csdn 2018-10-14 10:29:33)
目录 观察IEEE浮点表示 工作中遇到过整型转浮点型(union那种转换),碰到就看下书,过后就遗忘了.等过段时间又出现此现象,又重新拿起书本,这次记录了过程.然而一直等到今天才写出来,以防以后还用到 ...
- c# 类实例序列化反序列化json文件 (原发布 csdn 2017-10-01 20:02:12)
前言 前段时间使用了net.json保存对象数据.添加完成后,测试发现300多实例数据保存加载json文件,速度比原方式(BinaryFormatter)慢.但是功能加上后也懒再删掉代码了,索性就采用 ...
- C# 流介绍 (原发布 csdn 2017-09-15 23:37:52)
1.FileStream FileStream 详细介绍参考msdn 写数据: using (FileStream fs = new FileStream("File.FileStream& ...
- datalab (原发布 csdn 2018年09月21日 20:42:54)
首先声明datalab本人未完成,有4道题目没有做出来.本文博客记录下自己的解析,以便以后回忆.如果能帮助到你就更好了,如果觉得本文没啥技术含量,也望多多包涵. /* * bitAnd - x& ...
随机推荐
- 品Spring:注解终于“成功上位”
历史还是抛弃了XML,当它逐渐尝到注解的甜头之后. 尤其是在Spring帝国,到处充满着注解的气息. 注解从一个提供附属信息的“门客”,蜕变为颇具中流砥柱的“君侯”. 注解成功登上了帝国的舞台,定会像 ...
- java之封装
java中通过将成员变量声明为private,再提供公共的public方法:setXxx()和getXxx()实现对该属性的操作,以实现以下目的: 隐藏一个类中不需要对外提供的实现: 使用者只能通过事 ...
- java自学-数组
1.数组是什么 前边说过java的基本数据类型,数组,就是装这些基本类型的容器.每个基本类型的变量都是单个的,数组就是这些单个元素的组合. 2.创建数组 方式一 格式: 数组存储的数据类型[] 数组名 ...
- chrome 插件备份
- Vim 宏实战操作
宏的概念 什么是宏呢?英文名:macro,代表一串命令的集合. 示例操作文本 SELECT * FROM `edu_ocr_task` WHERE ((`userId`=284871) AND (`u ...
- 松软科技web课堂:SQLServer之MIN() 函数
MIN() 函数 MIN 函数返回一列中的最小值.NULL 值不包括在计算中. SQL MIN() 语法 SELECT MIN(column_name) FROM table_name 注释:MIN ...
- 父子间的通信,以及ref
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- oracle数据库自动生成数据库表结构文档(亲测有效)
import java.awt.Color; import java.io.FileOutputStream; import java.sql.Connection; import java.sql. ...
- Linux IO协议栈
图片来源自网络,保持更新:更多内容请关注 cnblogs.com/xuyaowen 参考链接: https://zhuanlan.zhihu.com/p/39721251 http://blog.yu ...
- Linux开发环境搭建三 使用mount -t cifs 挂载windows共享目录方法与问题解决
转载链接:https://blog.csdn.net/fuyuande/article/details/82915800 嵌入式开发通常是在linux环境下编译,windows下开发,这就需要在lin ...