c# windows窗体中的定时器控件
本文关键字:定时器 控件 windows 窗体 | 更新日期: 2023-09-27 18:14:15
我是windows窗体(visual studio 2010)的初学者,想知道是否有任何方法可以在任何时刻获得计时器的值?对于初学者来说,我想在文本框中显示计时器的值,例如,如果我的计时器从0到100,我想在文本框中一直显示这些值0到100。
其次,是否有一个计时器变量,可以给出我的计时器自启动以来滴答的次数?
听起来你想要一个Stopwatch
,正如评论中提到的。
你可以使用Start
命令,每当你启动Timer
(如果你发现你甚至还需要),然后检查Elapsed
,当你想知道多久已经过去了,例如在Timer.Tick
事件。
至于你的第二个问题,你需要一个私有字段来跟踪你的滴答数,但这很容易。只要在每一次滴答上增加数字,然后忘记它。没什么大不了的
有多种方法可以解决你的问题,部分原因是它是如此开放。
-
System.Windows.Forms.Timer
- 你需要编写一个事件处理程序,它将在计时器滴答时执行。
-
System.Threading.Timer
- 你需要指定一个回调委托,当计时器滴答时执行。它不需要表单来运行。
-
System.Diagnostics.Stopwatch
- 这是一个可以启动和停止的类,可以告诉你从它启动以来经过的时间。
System.Threading.Timer
示例制作一个简单的计数器
Private t As System.Threading.Timer
Private counter As Long = 0
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
t = New System.Threading.Timer(Sub() counter += 1)
t.Change(1000, 1000) ' 1000 (ms): start after 1 second, 1000 (ms): 1 second interval
End Sub
Public ReadOnly Property Counts As Long
Get
Return counter
End Get
End Property
Public Sub ResetCounter()
t.Change(System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite)
counter = 0
t.Change(1000, 1000)
End Sub