求教Timer控件怎么不被其他窗体的代码所影响
求教Timer控件如何不被其他窗体的代码所影响
3个窗体a,b,c:
窗体b的功能是:利用Timer控件使进度条一直循环走
窗体c的功能是:load事件里根据IP地址连接网络上的一个设备,连接需要一段时间,没有该IP时要很久才能返回值。
窗体a的功能是:显示窗体C;但是由于窗体C由于网络等问题会卡很久才有反应,所以想先显示窗体b隐藏窗体c,等到窗体c返回连接是否成功之后再关闭窗体b显示窗体c。
现在的问题是:当窗体c再连接设备时还是会卡住,窗体b的进度条没动了(应该是timer控件Tick事件没执行)直到窗体c连接完成返回值之后窗体b的Timer1_Tick才会继续执行。窗体c连接设备的方法用线程,窗体b的Timer用Threading.Timer依然是这样。
问题:如何才能让窗体b的进度条一直走而不受窗体c的影响呢?
望各位大侠解答下!
------解决方案--------------------
.NET中的三种Timer的区别和用
http://space.itpub.net/12639172/viewspace-571197
建议直接用GIF动画图片..........
------解决方案--------------------
弄个线程来控制timer。这样就不会假死了
------解决方案--------------------
你的窗体c是被窗体b加载的吧
窗体b加载窗体c的这段代码应该在backgroundworker 里面,或者自己写thread.
比如
WindowC
Form_load
Dim t As New Thread(AddressOf StartWindowB)
t.Start()
End Formload
Public Sub StartWindowB()
New WindowB().Show()
End Sub
End WindowC
“线程几个窗体都试过,几种情况都试过都一样”你没写队
3个窗体a,b,c:
窗体b的功能是:利用Timer控件使进度条一直循环走
窗体c的功能是:load事件里根据IP地址连接网络上的一个设备,连接需要一段时间,没有该IP时要很久才能返回值。
窗体a的功能是:显示窗体C;但是由于窗体C由于网络等问题会卡很久才有反应,所以想先显示窗体b隐藏窗体c,等到窗体c返回连接是否成功之后再关闭窗体b显示窗体c。
现在的问题是:当窗体c再连接设备时还是会卡住,窗体b的进度条没动了(应该是timer控件Tick事件没执行)直到窗体c连接完成返回值之后窗体b的Timer1_Tick才会继续执行。窗体c连接设备的方法用线程,窗体b的Timer用Threading.Timer依然是这样。
问题:如何才能让窗体b的进度条一直走而不受窗体c的影响呢?
望各位大侠解答下!
------解决方案--------------------
.NET中的三种Timer的区别和用
http://space.itpub.net/12639172/viewspace-571197
建议直接用GIF动画图片..........
------解决方案--------------------
弄个线程来控制timer。这样就不会假死了
------解决方案--------------------
你的窗体c是被窗体b加载的吧
窗体b加载窗体c的这段代码应该在backgroundworker 里面,或者自己写thread.
比如
WindowC
Form_load
Dim t As New Thread(AddressOf StartWindowB)
t.Start()
End Formload
Public Sub StartWindowB()
New WindowB().Show()
End Sub
End WindowC
“线程几个窗体都试过,几种情况都试过都一样”你没写队