关于UI线程的问题
做了一个欢迎界面 里面就加了俩个空间一个 progressbar还有一个label label的Text属性设置为:数据正在加载,请稍后
namespace pdaxfjx.WinForm
{
Thread t = null;
public partial class LoadForm : Form
{
public LoadForm()
{
InitializeComponent();
}
private void LoadData()
{
t = new Thread(new ThreadStart(run));
t.start();
//这里是数据处理的方法没处理一条信息 progressbar.value 就+1
。。。。。。
//数据加载完成之后,改变label的Text属性激活Textchange事件
label1.text = "数据加载成功";
}
private void run()
{
this.Inovke(method);
}
private void method()
{
int i = 1;
while(true)
{
label1.text += ".";
i++;
Thread.sleep(3000);
if (i = 3)
break;
}
}
private void label1_TextChanged(object sender, EventArgs e)
{
Login login = new Login();
login.ShowDialog();
this.Close();
}
}
没有错误 ,就是 界面不显示,只显示一个进度条 一点一点在加 然后就跳到登陆页面了 label也没有显示 不知道什么原因
在网上差了一些关于非UI线程控制空间属性的资料,没怎么看明白。希望大神帮忙给段代码示例 做做参考。大致意思就是页面一边处理数据 处理的数据来控制progressBar的进度,一边把整个FORM 加载完成 最起码先把页面加载完成之后再 让progressBar一点一点的根据数据的完成度来增加。
namespace pdaxfjx.WinForm
{
Thread t = null;
public partial class LoadForm : Form
{
public LoadForm()
{
InitializeComponent();
}
private void LoadData()
{
t = new Thread(new ThreadStart(run));
t.start();
//这里是数据处理的方法没处理一条信息 progressbar.value 就+1
。。。。。。
//数据加载完成之后,改变label的Text属性激活Textchange事件
label1.text = "数据加载成功";
}
private void run()
{
this.Inovke(method);
}
private void method()
{
int i = 1;
while(true)
{
label1.text += ".";
i++;
Thread.sleep(3000);
if (i = 3)
break;
}
}
private void label1_TextChanged(object sender, EventArgs e)
{
Login login = new Login();
login.ShowDialog();
this.Close();
}
}
没有错误 ,就是 界面不显示,只显示一个进度条 一点一点在加 然后就跳到登陆页面了 label也没有显示 不知道什么原因
在网上差了一些关于非UI线程控制空间属性的资料,没怎么看明白。希望大神帮忙给段代码示例 做做参考。大致意思就是页面一边处理数据 处理的数据来控制progressBar的进度,一边把整个FORM 加载完成 最起码先把页面加载完成之后再 让progressBar一点一点的根据数据的完成度来增加。
...全文
相关推荐
解决PySide+Python子线程更新UI线程的问题
为了保持用户界面(UI)的流畅度,通常会将耗时操作放到后台线程进行处理,避免阻塞UI线程。PySide是一个用于Python的Qt应用程序框架,它提供了丰富的API来构建图形用户界面。
UI界面多线程简单实现和线程捕获异常问题
多线程技术是解决这一问题的有效手段,它可以将耗时的操作放到后台线程执行,避免阻塞主线程,确保UI的及时响应。本文将探讨如何在UI界面中简单实现多线程以及如何处理线程中的异常问题。
Android子线程与更新UI问题的深入讲解
在Android开发中,UI线程(也称为主线程)负责处理用户界面的绘制和交互,而子线程通常用于执行耗时的操作,如网络请求、数据处理等。
Jquery ajax 同步阻塞引起的UI线程阻塞问题
如果请求需要较长时间,用户界面(UI)会变得无响应,因为浏览器的UI线程被阻塞,无法进行任何更新,包括动画或者显示提示信息。
运用 委托和事件解决UI线程和后台线程问题
在.NET框架中,UI线程(用户界面线程)与后台线程的交互是一个常见的编程挑战,特别是当涉及到耗时的操作时,如网络请求、数据库操作或大型数据处理。


