2016-03-14 24 views
0

我正在使用visual basic express 2010來創建一個非常簡單的應用程序。VB:重複函數evey x分鐘?

我知道這是基本的東西,但我需要知道如何在應用程序處於打開狀態時每X分鐘重複相同的功能。

這是我的所有代碼:

Public Class Form1 
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 

      My.Computer.Network.DownloadFile(
"http://google.co.uk/images/someimage.png", "C:/Documents and Settings/All Users/Desktop/someimage.png") 

    End Sub 

End Class 

可能有人請告知這個問題?

編輯:

這是我現在整個代碼:

Public Class Form1 

    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick 
     My.Computer.Network.DownloadFile(
"http://new.tse.ir/en/json/MarketWatch/enMarketWatch_1.xls", "C:/temp/enMarketWatch_1.xls", "", "", False, 60, True) 

    End Sub 
End Class 
在計時器的屬性面板

,我設置啓用爲true,間隔爲60000

當我運行這個代碼,我得到的文件下載,但1秒後,文件被自動刪除,並在視覺基本說法彈出一個錯誤the operation has timed out

我試圖改變目錄,但仍在發生。

任何意見,將不勝感激。

+0

定時器???????? – Plutonix

+0

@Plutonix,我真的不知道如何使用計時器。有什麼機會可以就此提出建議? – rooz

+1

[定時器](https://msdn.microsoft.com/en-us/library/system.windows.forms.timer.tick(v = vs.110).aspx)谷歌是你的朋友,認真 – Plutonix

回答

3

在圖形設計器中爲您的表單添加計時器。

雙擊計時器以在代碼窗口中生成其滴答事件處理程序代碼。

移動要重複到部分

Private Sub DownloadFile() 
    My.Computer.Network.DownloadFile("http://google.co.uk/images/someimage.png", "C:/Documents and Settings/All Users/Desktop/someimage.png") 
End Sub 

代碼的命令添加以下到您的計時器滴答事件處理程序

DownloadFile() 

改變你form.load事件

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
    DownloadFile() 
    Timer1.Interval = x ' where x is the number of minutes*60000 because there are 60000 ticks in a minute 
    Timer1.Enabled = True 
End Sub 

我把你的代碼放到一個單獨的sub中的原因是它很容易在bot中重用h form.load處理程序和timer.tick處理程序不必再次寫入,如果將來需要更改(例如文件路徑),則只需記住更改一次即可。

另外我應該補充一點,在form.load處理程序中,我已經包含了DownloadFile方法,因爲當定時器啓用時,它將不會生成一個滴答聲,直到間隔過去。定時器啓用時不在開始處。

另外 - 正如Plutonix在下面的評論中所建議的 - 如果下載的文件可能需要比定時器間隔長度更長的下載時間,則應該禁用DownloadFile子中的定時器,並在分的結尾。像這樣: -

Private Sub DownloadFile() 
    Timer1.Enabled = False 
    My.Computer.Network.DownloadFile("http://google.co.uk/images/someimage.png", "C:/Documents and Settings/All Users/Desktop/someimage.png") 
    Timer1.Enabled = True 
End Sub 
+0

我不'在圖形設計器中沒有計時器。因爲我使用快遞版本。 – rooz

+0

!!他們不包括一個計時器?哇!這很緊。我會建議(如果可能)您下載VS 2015社區編輯。 –

+3

是的,他們確實(或至少是VB Express 2010所做的)。在Tool Box @rooz周圍看看。 –