Code: Select all
Private Sub TmrRecord_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TmrRecord.Tick
Dim tmeRecord as Date = DateAdd(DateInterval.Second, 1, tmeRecord)
Label1.Text = FormatDateTime(tmeRecord, DateFormat.LongTime)
End Sub
เเก้ไขด้วย System.Threading.Timer ครับมาดู code กันเลย
เป็น code ที่เบสิคมากๆครับ คือเอาไว้นับเวลา นับทีละ 1 วินาทีไปเรื่อยๆ ให้เวลาเดินไปเรื่อยๆโดยเเสดงผลลัพท์ไว้ที่ Label1
Code: Select all
Imports Microsoft.VisualBasic
Imports System
Imports System.Threading
Public Class Form2
Private alarm As Threading.Timer
Private tmeRecord As Date
Private strSecound As String
ReadOnly stateLock As New Object()
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.alarm = New Threading.Timer(AddressOf Tick, Nothing, CInt(1000), CInt(1000))
End Sub
Private Sub Tick(ByVal state As Object)
tmeRecord = DateAdd(DateInterval.Second, 1, tmeRecord)
SyncLock stateLock
strSecound = FormatDateTime(tmeRecord, DateFormat.LongTime)
End SyncLock
AccessControl()
End Sub
Private Sub AccessControl()
If Me.InvokeRequired Then
Me.Invoke(New MethodInvoker(AddressOf AccessControl))
Else
Label1.Text = strSecound
End If
End Sub
Private Sub btnStopTimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.alarm.Change(Timeout.Infinite, Timeout.Infinite)
End Sub
Private Sub btnStartTimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.alarm.Change(CInt(1000), CInt(1000))
End Sub
End Class