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
我试图改变目录,但仍在发生。
任何意见,将不胜感激。
在图形设计器中为您的表单添加计时器。
双击计时器以在代码窗口中生成其滴答事件处理程序代码。
移动要重复到部分
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
我不'在图形设计器中没有计时器。因为我使用快递版本。 – rooz
!!他们不包括一个计时器?哇!这很紧。我会建议(如果可能)您下载VS 2015社区编辑。 –
是的,他们确实(或至少是VB Express 2010所做的)。在Tool Box @rooz周围看看。 –
定时器???????? – Plutonix
@Plutonix,我真的不知道如何使用计时器。有什么机会可以就此提出建议? – rooz
[定时器](https://msdn.microsoft.com/en-us/library/system.windows.forms.timer.tick(v = vs.110).aspx)谷歌是你的朋友,认真 – Plutonix