WPF 线程开启等待动画

public static Dictionary<string, object> Dic = new Dictionary<string, object>();//定义一个字典类型的接受窗体信息

public static void AwaitAnimation(bool isStart = true)
{
if (isStart == true)
{
Thread t = new Thread(() =>
{
Pmtoload sw = new Pmtoload();
Dic["SplashWindow"] = sw;//储存
sw.ShowDialog();//不能用Show
});
t.SetApartmentState(ApartmentState.STA);
t.IsBackground = true;
t.Start();
return;
}
if (isStart == false)
{
if (HymlaserLoadedConfig.Dic.ContainsKey("SplashWindow"))
{
Pmtoload sw = Dic["SplashWindow"] as Pmtoload;
sw.Dispatcher.Invoke(() => sw.Close());//在sw的线程上关闭SplashWindow

}
return;
}
}

原文地址:https://www.cnblogs.com/zt199510/p/11286896.html

时间: 2024-11-13 20:47:22

WPF 线程开启等待动画的相关文章

WPF MVVM模式下动画的实现

原文:WPF MVVM模式下动画的实现 在MVVM模式下,数据的显示都是通过绑定来实现的.当我们在ViewModel里修改数据时,View里面的界面会瞬间变化.但是如果我们希望这个变化有一个动画效果,应该怎么做呢? 可能一开始我们会想到DoubleAnimation.StoryBoard这些东西,但我们很快就会发现,它们只能操作View里面的元素,我们无法在ViewModel里使用它们. 我们在这里使用的方法是:创建一个类似DoubleAnimation的类,它的操作对象就是普通的double类

线程开启方式2—任务

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading; 6 using System.Threading.Tasks; 7 8 namespace 线程开启4_任务 9 { 10 class Program 11 { 12 13 private static void taskMethod() 14 { 15 Co

Java 并发编程中的 CyclicBarrier 用于一组线程互相等待

Java 5 引入的 Concurrent 并发库软件包中的 CyclicBarrier 是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用.因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier.CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之后(但在

c# 线程的等待(堵塞)

这里我要强调一个概念, 多线程是多线程, 异步编程是异步编程 这两个是有区别的概念: 我可以说多线程天生就要异步的特点:但你不能说多线程成就等同于我们的异步编程: 根不能说异步编程就是我们的多线程.这里不要搞混淆了: 再net中的进化如下: 多线程:Thread =>ThreadPool=> Task 异步编程:BenginInvokeXXX EndInvokeXXX IAsyncResult=> async await (这里面配合着Task的使用). 好接下来,再来总结我们的线程(任

IOS开发学习笔记-(3) 进度条、等待动画开始停止

一.创建对应空间视图  ,如下图: 二.编写对应的 .h 代码,如下 : #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UIActivityIndicatorView *activWaitNetWork; @property (weak, nonatomic) IBOutlet UIProgressView *pgrsDownLo

java 线程 Lock 锁使用Condition实现线程的等待(await)与通知(signal)

一.Condition 类 在前面我们学习与synchronized锁配合的线程等待(Object.wait)与线程通知(Object.notify),那么对于JDK1.5 的 java.util.concurrent.locks.ReentrantLock 锁,JDK也为我们提供了与此功能相应的类java.util.concurrent.locks.Condition.Condition与重入锁是通过lock.newCondition()方法产生一个与当前重入锁绑定的Condtion实例,我们

线程同步——内核对象实现线程同步——等待函数

1 对于内核对象实现线程同步,不得不提三点: 2 1)大多数内核对象既有触发也有未触发两个状态 3 比如:进程.线程.作业.文件流.事件.可等待的计时器.信号量.互斥量 4 2)等待函数:等待函数使线程自愿进入等待状态,直到指定的内核对象变为触发状态为止, 5 说道等待我们最喜欢不过了,因为这样不会浪费我们宝贵的CPU时间. 6 3)对于自动重置对象来说,当对象被触发时,函数会自动检测到(手动重置对象为触发是,函数也能检测到), 7 并开始执行,但是在函数会在返回之前使事件变为非触发状态. 8

android image加载中等待动画

Xml代码   在布局中添加一个ImageViw和一个EditText. Xml代码   <ImageView android:id="@+id/loading_imageView_info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:ba

线程系列09,线程的等待、通知,以及手动控制线程数量

当一个线程直到收到另一个线程的通知才执行相关的动作,这时候,就可以考虑使用"事件等待句柄(Event Wait Handles)".使用"事件等待句柄"主要用到3个类: AutoResetEvent, ManualResetEvent以及CountdownEvent(.NET 4.0以后才有).本篇包括: ※ 一个线程等待另一个线程的通知※ 2个线程互相通知等待※ 一个线程等待队列中的多个任务通知※ 手动控制线程的数量 □ 一个线程等待另一个线程的通知 最简单的情景