VB:重复函数evey x分钟?

问题描述:

我正在使用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

在图形设计器中为您的表单添加计时器。

双击计时器以在代码窗口中生成其滴答事件处理程序代码。

移动要重复到部分

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周围看看。 –