我想我可以在乔纳森的回答一下。
在希望显示给定时间的窗体上添加一个定时器(在本例中,定时器名为Timer1 ...定时器可在toolbax中找到,只需将其拖到窗体上)
具有以下形式接近它已经显示给定的时间量后开始计时形式的onload方法:
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Do initialization stuff for your form...
'Start your timer last.
Timer1.Start()
End Sub
这样将开始计时。当预设时间过去时,时间戳事件将触发。在这种情况下把你的窗体关闭代码:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
'Close the form after 1 tick.
Me.Close()
End Sub
要更改计时器滴答之前多少时间应经过,改变定时器的时间间隔属性。
'Changing the time from outside the Form1 class...
Form2.Timer1.Interval = 2000 '2 seconds, the interval is in milliseconds.
全代码,Form1中有一个按钮,用于设置计时器的时间间隔,然后打开窗体2。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Timer1.Interval = 2000
Form2.Show()
End Sub
End Class
Public Class Form2
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Do initialization stuff for your form...
'Start your timer last.
Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Close()
End Sub
End Class
我希望这可以帮助,让我知道,如果我能在一个更明确的方式重申任何:-)
你能否提供关于如何确定,因为形式被打开的时间(毫秒)的例子或链接?我曾试图在WWW上寻找,但目前为止还没有取得太大的成功。 – Lima 2010-12-22 07:41:19
我现在不在我的开发机器上。但只需创建一个DateTime类型的表单变量并将其设置为您的Form的Load事件处理程序中的DateTime.Now。然后,在Tick事件处理程序中,只需计算它已经过了多长时间。准确地说,毫无疑问你会遇到麻烦,但你应该能够足够接近。 – 2010-12-22 14:37:21