我搜索了Stackoverflow和Google关于我的问题的解决方案,但没办法!所以现在是时候问自己的问题了。
我正在使用C#和VB.net制作一个大项目(不是我们的主题-_-)
我打开这个问题来询问VB.net问题
我试图加载很多表单,但在同一时间,隐藏上一个表单!
首先,请点击 Form1 :
Private Sub Timer4_Tick(sender As Object, e As EventArgs) Handles Timer4.Tick
If Label1.Text = "Setting profile.dat=Roblox.AuthAccess ..." Then
Form2.Show()
Me.Hide()
End If
End Sub
这是一个计时器,用于检测Label1的文本是否为"设置profile.dat = Roblox.AuthAccess ......"它必须显示Form2然后关闭Form1(这是完美的工作): - )
窗体2 :
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
If WebBrowser1.Url.ToString().Contains("home") Then
Me.Hide()
Form3.Show()
End If
End Sub
这将检测" WebBrowser1 "的网址是否包含" home"然后它将隐藏Form2并显示Form3(此处开始的问题!!!)
问题是 :它显示Form3然后在2秒后,Form2再次返回(现在两个都打开一次)并且它们将永远打开和关闭(我通过转到任务管理器并结束" vshost32.exe")
来关闭它们Form3 :
Public Class Form3
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Form2.Close()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Form4.Show()
End Sub
End Class
答案 0 :(得分:0)
非常感谢@jmcilhinney:)
我从没想过在工作结束后停止每一个“计时器”!
刚刚将Timer4_Tick替换为:
Private Sub Timer4_Tick(sender As Object, e As EventArgs) Handles Timer4.Tick
If Label1.Text = "Setting profile.dat=Roblox.AuthAccess ..." Then
Me.Hide()
Form2.Show()
Timer4.Stop()
End If
End Sub
最后,我通过添加 Timer4.Stop()来解决这个问题。
答案 1 :(得分:0)
实际上,停止计时器仍然不是一个稳定的解决方案,禁用它们会更好。
只需将Timer4.Stop()
替换为Timer4.Enabled = False
。