关于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一点一点的根据数据的完成度来增加。