怎么判断自己的后台线程执行完毕没有?我想在自己开辟的后台线程执行完毕后再让主线程执行。怎么做?
解决方案 »
- 正则提取QQ号码 <a target="_blank" href='http://wpa.qq.com/msgrd?V=1&Uin=1002108975
- 请问怎样将两个或多个int合成一个?
- VS2005 (C#)中,读取字符串资源用什么方法?
- 如何理解Monitor.wate和Monitor.pulse
- 关于事件的疑惑
- 请教一个模拟用户的问题。期待高手中!!
- 急!在线等!datagrid显示5个标题,然后在根据标题的时间显示1个标题连接的图片。每个标题连接图片不同。不能用数据库语句控制!
- 在没有VB的情况下,怎样将.cs文件编译成.dll文件,在线等
- void ms_DateChanged(object sender, DateRangeEventArgs e)这里的“ms”到底是什么
- 调用水晶报表。在本机上测试没有问题,但是发布在目标机时会出现如下错误:
- 请各位高手帮帮忙
- 如何防止窗体被多次弹出?
th.Start();
while (th.ThreadState == ThreadState.Running)
{
Application.DoEvents();
} //接着干
数据处理完毕之后label显示“完成”。 private delegate void TestDelegate(string s); private void button1_Click(object sender, EventArgs e)
{
label1.Text = "Loading...";
Thread thd = new Thread(st); //st是线线程调用的方法,也就是你处理数据的方法
thd.Start();
} private void st()
{
Thread.Sleep(2000); //为了测试,线程停2秒,当然可以在这之前写你处理数据的代码 //因为线程里面不能访问控件,所以用Invoke调用ThreadEndCallback方法
TestDelegate myDelegate = new TestDelegate(ThreadEndCallback);
this.Invoke(myDelegate, "Loading完毕!");
} private void ThreadEndCallback(string str) //线程回调方法
{
label1.Text = str;
}