俺有个循环需要很长时间才能执行结束,我希望在循环前给予提示,用LABEL显示一些信息,但是,奇怪得是该LABEL并没有按程序显示,而是一直等到循环执行结束.就像循环占据了所有的资源一样,我实验过了,在一个循环执行的过程前对FORM的所有操作几乎都是无效的,只有PROGRESSBAR例外,谁能告诉我是为什么和解决的方法.
不知道为什么,这几天提出的问题都没有人能解决,是否我分数给的少啦?但是最多也只能给100阿
8 个解决方案
#1
居然没有人回复!?!?!
#2
顶阿顶
#3
vb6中用DOEVENTS
VB.Net中用APPLICATION.DOEVENTS
不然LABEL是无法刷新的。
VB.Net中用APPLICATION.DOEVENTS
不然LABEL是无法刷新的。
#4
System.Windows.Forms.Application.DoEvents()
LABEL
System.Windows.Forms.Application.DoEvents()
LABEL.visible=false
LABEL
System.Windows.Forms.Application.DoEvents()
LABEL.visible=false
#5
当你循环的执行时间比较长了,而又想响应用户事件的话,还可以使用多线程,将循环的执行交给一个新线程
#6
如何实现多线程阿
另外,那个DOEVENTS是干什么用的
另外,那个DOEVENTS是干什么用的
#7
Sub Calc()
...
End Sub
Sub Button1_Click(...)...
Dim t As New Thread(AddressOf Calc)
t.Start()
End Sub
DoEvent的作用就是在当前这一句的时候,执行消息处理循环,处理那些积压下来的消息。
...
End Sub
Sub Button1_Click(...)...
Dim t As New Thread(AddressOf Calc)
t.Start()
End Sub
DoEvent的作用就是在当前这一句的时候,执行消息处理循环,处理那些积压下来的消息。
#8
加这样一句代码,试试
Thread.Sleep(2500)括号内是暂停的时间,单位毫秒
Thread.Sleep(2500)括号内是暂停的时间,单位毫秒
#1
居然没有人回复!?!?!
#2
顶阿顶
#3
vb6中用DOEVENTS
VB.Net中用APPLICATION.DOEVENTS
不然LABEL是无法刷新的。
VB.Net中用APPLICATION.DOEVENTS
不然LABEL是无法刷新的。
#4
System.Windows.Forms.Application.DoEvents()
LABEL
System.Windows.Forms.Application.DoEvents()
LABEL.visible=false
LABEL
System.Windows.Forms.Application.DoEvents()
LABEL.visible=false
#5
当你循环的执行时间比较长了,而又想响应用户事件的话,还可以使用多线程,将循环的执行交给一个新线程
#6
如何实现多线程阿
另外,那个DOEVENTS是干什么用的
另外,那个DOEVENTS是干什么用的
#7
Sub Calc()
...
End Sub
Sub Button1_Click(...)...
Dim t As New Thread(AddressOf Calc)
t.Start()
End Sub
DoEvent的作用就是在当前这一句的时候,执行消息处理循环,处理那些积压下来的消息。
...
End Sub
Sub Button1_Click(...)...
Dim t As New Thread(AddressOf Calc)
t.Start()
End Sub
DoEvent的作用就是在当前这一句的时候,执行消息处理循环,处理那些积压下来的消息。
#8
加这样一句代码,试试
Thread.Sleep(2500)括号内是暂停的时间,单位毫秒
Thread.Sleep(2500)括号内是暂停的时间,单位毫秒