私は問題を解決する方法についてはStackoverflowとGoogleを検索しましたが、方法はありません。だから私自身の質問をする時が来ました。1つ以上のフォームをロードする際の問題 - VB.net
私はC#とVB.netを(ではない私たちの話題-_-)
私はVB.netの問題について質問するこの質問を開いて使用して大きなプロジェクトを作ってるんだ
私はロードしようとしていますフォームの多くは、同時に、以前のフォームを非表示に!これは、Label1ののテキストは、 "設定PROFILE.DAT = Roblox.AuthAccess ..." されている場合、それは、その後のForm2とを示さなければならない検出タイマーを、ある
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
:
まず、をForm1にここを見て
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
:Form1の(これは完全に働いている):-)
Form2のを閉じます"WebBrowser1" のURLが、それはForm2を非表示にしてたForm3を表示します "自宅" を含んでいます場合、これは検出されます(ANDここでの問題は、STARTED !!!)
問題がである:それは、た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
これはC#とは何が関係しているのでしょうか?これはすべてVBコードです。 – BugFinder
タイマーは再び起動していますか?そうであれば、Timer4_Tickで無効にするか、autoreset = falseに設定します。 –
@JoeC、間違った「タイマー」。 'AutoReset'は' System.Windows.Forms.Timer'ではなく、 'System.Timers.Timer'のメンバです。 'Enabled'を' False'に設定するか、 'Stop'を呼び出すことが望ましいでしょう。 – jmcilhinney