在你给textbox设置text值后直接使用sleep(),因为在使用sleep()的时候,当前的主进程是被挂起了,也就是说设置的text属性后,还来不及在屏幕上显示lbi的内容就执行了sleep,所以在执行sleep()挂起主进程前,你必须让textbox的内容先显示出来再执行sleep,可尝试使用下DoEvents()将控制权暂时移交一下,让系统有时机来刷新textbox里面的内容,让系统有机会来刷新textbox里面的内容。由于我没有安装visual studio的开发环境,无法调试代码的正确性,但我记得我以前也遇到此类问题,采取的DoEvents()的方式。你可尝试下。
创新互联建站专注于广汉网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供广汉营销型网站建设,广汉网站制作、广汉网页设计、广汉网站官网定制、小程序开发服务,打造广汉网络公司原创品牌,更为您提供广汉网站排名全网营销落地服务。
lbl.Visible = True
Sleep(5000)
lbl.Text = "我是中国人"
lbi.Refresh '刷新一下lbi,具体你可以调试下,看需要不需要这条
Application.DoEvents() ‘设置完lbi的text属性,将操作权限释放一下,让系统有机会显示lbi的内容。
Sleep(3000) ’待显示后,再执行挂起
lbl.Text = "我爱自己的祖国"
lbi.Refresh ‘同上
Application.DoEvents() ’同上
DoEvents()的功能解释是:转让控制权,以便让操作系统处理其它的事件。
如执行一次不行,可尝试重复多执行几次,特别在循环语句中,对于窗口的刷新显示DoEvents特别有用,但是在循环体内使用了DoEvents后,当前进程的执行效率会有大幅降低,因为移交控制权必然损失当前进程的运行效率。
用
t.Suspend() 这个是挂起线程。是一个异步方法。
t.Sleep 我看了是一个同步方法。要等这个方法运行完了才继续下一步。
这和from.show和 from.showdiaglog区别差不多!
至于疑问2我也没找到原因。
使用api
Private Declare Function TerminateThread Lib "kernel32" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For s = 1 To 11 Step 10
t1 = New Threading.Thread(AddressOf setA)
t2 = New Threading.Thread(AddressOf setB)
t3 = New Threading.Thread(AddressOf setC)
t4 = New Threading.Thread(AddressOf setD)
t5 = New Threading.Thread(AddressOf setE)
t6 = New Threading.Thread(AddressOf setF)
t7 = New Threading.Thread(AddressOf setG)
t8 = New Threading.Thread(AddressOf setH)
t9 = New Threading.Thread(AddressOf setI)
t10 = New Threading.Thread(AddressOf setJ)
错误》》》 t1.Start()
t2.Start()
t3.Start()
t4.Start()
t5.Start()
t6.Start()
t7.Start()
t8.Start()
t9.Start()
t10.Start()
Next
同楼上,每个Thread只能运行一次
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款