Vb.net 我有一个倒计时计时器,我希望它从一个变量中设置的数字开始
我有一个倒计时计时器,我希望它从变量中给定的值开始倒计时Vb.net 我有一个倒计时计时器,我希望它从一个变量中设置的数字开始,vb.net,Vb.net,我有一个倒计时计时器,我希望它从变量中给定的值开始倒计时 Public Class frmSinglePlayer Private TargetDT As DateTime Private CountDownFrom As TimeSpan = TimeSpan.FromMinutes(3) Private Sub frmSinglePlayer_Load(sender As System.Object, e As System.EventArgs) Handles
Public Class frmSinglePlayer
Private TargetDT As DateTime
Private CountDownFrom As TimeSpan = TimeSpan.FromMinutes(3)
Private Sub frmSinglePlayer_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
tmrCountdown.Interval = 500
TargetDT = DateTime.Now.Add(CountDownFrom)
tmrCountdown.Start()
End Sub
Private Sub tmrCountdown_Tick(sender As Object, e As System.EventArgs) Handles tmrCountdown.Tick
Dim ts As TimeSpan = TargetDT.Subtract(DateTime.Now)
If ts.TotalMilliseconds > 0 Then
lblTime.Text = ts.ToString("mm\:ss")
Else
lblTime.Text = "00:00"
tmrCountdown.Stop()
MessageBox.Show("Done")
End If
End Sub
End Class
我想改变,而不是这一行中的数字3,来输入变量中的值
Private CountDownFrom As TimeSpan = TimeSpan.FromMinutes(3)
我有3个不同值的单选按钮
Private Sub rd_1h_CheckedChanged(sender As Object, e As EventArgs) Handles rd_1h.CheckedChanged
ho = 1
End Sub
Private Sub rd_2h_CheckedChanged(sender As Object, e As EventArgs) Handles rd_2h.CheckedChanged
ho = 2
End Sub
Private Sub rd_3h_CheckedChanged(sender As Object, e As EventArgs) Handles rd_3h.CheckedChanged
ho = 3
End Sub
如果你不明白,请问我,并为我的英语不好道歉。也许你需要这样的东西
Private TargetDT As DateTime
Dim ho As Integer = 1
Private Sub StartTimerTick(sender As Object, e As System.EventArgs, Optional countDownFrom As Integer = 0)
If sender Is Nothing Then
TargetDT = DateTime.Now.Add(TimeSpan.FromMinutes(countDownFrom))
Dim mTmr = New Timer
mTmr.Interval = 500
AddHandler mTmr.Tick, AddressOf StartTimerTick
mTmr.Start()
Exit Sub
End If
Console.WriteLine("Tick ")
Dim ts As TimeSpan = TargetDT.Subtract(DateTime.Now)
If ts.TotalMilliseconds > 0 Then
lblTime.Text = ts.ToString("mm\:ss")
Else
lblTime.Text = "00:00"
CType(sender, Timer).Stop()
CType(sender, Timer).Dispose()
MessageBox.Show("Done")
End If
End Sub
Private Sub rd_1h_CheckedChanged(sender As Object, e As EventArgs) Handles rd_1h.CheckedChanged,
rd_2h.CheckedChanged,
rd_3h.CheckedChanged
Select Case CType(sender, Control).Name
Case "rd_1h"
ho = 1
Case "rd_2h"
ho = 2
Case "rd_3h"
ho = 3
End Select
'StartTimerTick(Nothing, Nothing, ho)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
StartTimerTick(Nothing, Nothing, ho)
End Sub
在表单加载时启动计时器,在此之前,您打算如何使用单选按钮更改
ho
的值?