概述
红色为主要问题
先看代码片断
void Moveing()
{
//开启一个新的线程运行动画数据
System.Threading.Thread thread = new System.Threading.Thread(
new System.Threading.ThreadStart(UpDateImage));
//如果此处加入 thread.Join() 将导致在子线程中无法更新UI导致死锁
//此处若加入MessageBox时并不影响thread更新UI,但同时可阻断代码继续运行
//如何可以实现像MessageBox这种阻止代码运行的方案?
//MessageBox.Show("Test");
//此处需要等待 A1 处执行完毕才执行,如何实现?
this.Content = "Done";
}
voidUpDateImage()
{
int count =10;//更新次数
//使用一个时间控件每个时间更新UI
System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 100;
timer.Elapsed += delegate
{
//此处更新UI需使用主线程
this.Dispatcher.Invoke(new Action(
delegate()
{
//mainImage是一个Image控件
this.mainImage.Source = //将Image的背景更新
}
)
, null);
count--;
if(count <=0)
{
//A1
timer.Stop();
}
}
}
最后
以上就是大意枕头为你收集整理的python 弹窗不阻断线程_WPF中的多线程以及类似MessageBox的代码阻断方式(欢迎大牛们前来指导)...的全部内容,希望文章能够帮你解决python 弹窗不阻断线程_WPF中的多线程以及类似MessageBox的代码阻断方式(欢迎大牛们前来指导)...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复