有关执行等待的问题(急急急急急急)

wcqgm 2006-06-21 04:28:52
各位仁兄,小弟遇到一个问题,非常头痛,望大家给予帮助。情况如下:(C/S)
我想执行好几个存储过程。且每个存储过程执行的时间都比较长,当执行时为了不让用户感觉像死机一样,我在页面最下面放了一个LABEL(初始为空),其信息是显示每个存储过程的信息,比如当执行第一个存储过程时,信息“存储过程一”,当第一个存储过程执行结束后再执行第二个存储过程时显示存储过程二,最后显示为空。我按照顺序的方式改变LABEL的值,当程序执行时LABEL的值没有发生变化,一直为空。我调试时LABEL值都在改变的语句执行后改变了,但是为什么不能显示呢?如何让其值改变时就能显示出来提示信息。
我试着用线程写,但是无济,还是没有效果,请有过相关经历的人或有这方面的解决方案,请帮助解决一下。谢谢!(最好给出源代码)一旦解决,马上给分。
...全文
170 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wcqgm 2006-06-21
  • 打赏
  • 举报
回复
不错。
ashiw 2006-06-21
  • 打赏
  • 举报
回复
加Application.DoEvents();就可以了。不过也可以搞个进度条嘛。
cowbird 2006-06-21
  • 打赏
  • 举报
回复
LongTimeWork();
label1.Text = "1";
Application.DoEvents();
// label1.Refresh();
LongTimeWork();
label1.Text = "2";
Application.DoEvents();
// label1.Refresh();
LongTimeWork();
label1.Text = "3";
Application.DoEvents();
// label1.Refresh();
LongTimeWork();
label1.Text = "4";
Application.DoEvents();
// label1.Refresh();
LongTimeWork();
label1.Text = "5";
Application.DoEvents();
// label1.Refresh();
LongTimeWork();
label1.Text = "6";
Application.DoEvents();
cowbird 2006-06-21
  • 打赏
  • 举报
回复
不使用线程的话调用label1.Refresh()或者调用Application.DoEvents()都可以实现
使用线程的话必须使用委托
wcqgm 2006-06-21
  • 打赏
  • 举报
回复
呵呵,问题解决了。感觉好爽。不用线程。
cowbird 2006-06-21
  • 打赏
  • 举报
回复
你必须使用委托来刷新界面。
wcqgm 2006-06-21
  • 打赏
  • 举报
回复
我的程序全部在一个类中。
private void Set()
{
MSG = "执行存储过程1,请稍等...";
Thread Td = new Thread(new ThreadStart(SetInfo));
Td.Start();
...执行存储过程1
MSG = "执行存储过程2,请稍等...";
Td = new Thread(new ThreadStart(SetInfo));
Td.Start();
...执行存储过程2
....


}


private void SetInfo()
{
ErrorInfo.Text = MSG; //MSG为全局变量

}
wcqgm 2006-06-21
  • 打赏
  • 举报
回复
第一,线程执行老是错误,提示:从不是创建控件“ErrorInfo”的线程访问它,这是为什么?我不想用线程写。有其他方式吗?
第二我用的是C/S结构(VS.NET2005),label根本没有fresh方法。
cowbird 2006-06-21
  • 打赏
  • 举报
回复
Label的Fresh()
wcqgm 2006-06-21
  • 打赏
  • 举报
回复
要调用哪个的FRESH()?
wcqgm 2006-06-21
  • 打赏
  • 举报
回复
能不能讲的具体一点呀,如果不用线程可行呀?你兄技术高,肯定有办法的。
Knight94 2006-06-21
  • 打赏
  • 举报
回复
如果是在主线程中做的话,在修改完Label之后,调用其的fresh方法。

如果是子线程,直接修改是不行的,需要参看
http://blog.csdn.net/knight94/archive/2006/03/16/626584.aspx

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧