Well it depends what you want to happen during the 2 seconds, you can either put the thread to sleep, which will halt your application for 2 seconds, or you can use a timer set to 2 seconds, which will not halt your application.
Sleep
vb
Threading.Thread.Sleep(2000)
Timer
vb
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MyTimer.Delay("http://www.microsoft.com")
End Sub
End Class
Public Class MyTimer
Public Shared Sub Delay(ByVal URL As String)
Dim MyTimer As Threading.Timer
MyTimer = New Threading.Timer(New Threading.TimerCallback(AddressOf MyTimer_Elapsed), New MyTimerState(URL), 2000, Threading.Timeout.Infinite)
End Sub
Private Shared Sub MyTimer_Elapsed(ByVal state As Object)
Dim TimerState As MyTimerState = DirectCast(state, MyTimerState)
Process.Start(TimerState.URL)
End Sub
Private Class MyTimerState
Private _URL As String
Public Property URL() As String
Get
Return _URL
End Get
Set(ByVal value As String)
_URL = value
End Set
End Property
Public Sub New(ByVal URL As String)
_URL = URL
End Sub
End Class
End Class