2010-08-08 54 views
1

是否有任何Timeout.bas等效的Visual Basic使用Visual Studio 2010Timeout.bas相當於使用Visual Basic中的Visual Studio 2010

我有這個文件稱那我可以添加到項目中較早版本的Visual Basic timeout.bas基本上讓我用代碼:

Timeout .5 

我試圖獲得相同類型的文件爲Visual Studio 2010

所以我可以編寫代碼如:

Label1.text = "hello" 
Timeout 1 
label1.text = "good day!" 

這基本上只是一個暫停或延遲....在此先感謝!

+0

你可能不想聽到這個,但是在框架類型的環境中做這樣的事情並不會很好(儘管我認爲這可能是特別的)。你在VB中解決基於時間的問題而不知道執行線程的方式可能不會在VB.NET中出現。通常這是通過回調和計時器完成的。 – 2010-08-08 15:31:50

回答

1

下面是可能的工作...嘗試重寫超時()在VB.NET一個想法:

注:以下是未經測試的僞代碼,具體時間的東西。也許寫一個單元測試或者這樣看看這是否會工作。

Sub timeout(duration) 
    DateTime endtime = DateTime.Now().AddMilliseconds(duration) 
    Do While DateTime.Now() < endtime 
     Application.DoEvents() 
    Loop 
End Sub 
1

這裏如何做到這一點與Timer。你必須將原始程序分成兩部分。

Public Class Form1 

    Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click 
    TextBox1.Text = "hi" 

    Dim tmr As New Timer 
    tmr.Enabled = True 
    tmr.Interval = 3000 ' milliseconds ' 
    AddHandler tmr.Tick, AddressOf ContinueWork 
    End Sub 

    Sub ContinueWork() 
    TextBox1.Text = "hi2" 
    End Sub 

End Class 

注意的是,用戶可以繼續計時器的時間間隔運行時,按一下週圍您的應用程序。

我不確定爲什麼你會想這樣做,這似乎是一個應用程序的奇怪行爲,但我相信你有你自己的好理由!

相關問題