2016-08-17 5 views
-1

私は問題を解決する方法については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 
+0

これはC#とは何が関係しているのでしょうか?これはすべてVBコードです。 – BugFinder

+1

タイマーは再び起動していますか?そうであれば、Timer4_Tickで無効にするか、autoreset = falseに設定します。 –

+0

@JoeC、間違った「タイマー」。 'AutoReset'は' System.Windows.Forms.Timer'ではなく、 'System.Timers.Timer'のメンバです。 'Enabled'を' False'に設定するか、 'Stop'を呼び出すことが望ましいでしょう。 – jmcilhinney

答えて

0

実際には、タイマーを停止することはまだ安定した解決策ではなく、それらを無効にする方がさらに優れています。

Timer4.Stop()Timer4.Enabled = Falseに置き換えてください。

+0

+1 THNX非常に多くのPROTLD! timerX.stop()はRenderErrorを返すようになりました。 。 ........... – usamember

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()を追加することであることを修正しました。

関連する問題