我在這方面遇到了困難。該程式是一個鬧鐘,它接受用戶輸入的持續時間并添加當前時間以獲取鬧鐘完成的未來時間的標簽。

我已經洗掉了硬編碼的時間,但我無法將當前時間添加到持續時間
Option Strict On
Public Class AlarmTimerFRM
Private setTime As Date
Private Sub AlarmTimerFRM_Load(sender As Object, e As EventArgs) Handles MyBase.Load
outCurrentTimeLBL.Text = Date.Now.ToLongTimeString
outCurrentTimeLBL.BackColor = Color.LightGray
Timer1.Start()
setTimerDTP.Format = DateTimePickerFormat.Custom
setTimerDTP.CustomFormat = "HH:mm:ss"
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
outCurrentTimeLBL.Text = TimeOfDay.ToString("hh:mm:ss tt")
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
outCurrentTimeLBL.Text = TimeOfDay.ToString("hh:mm:ss tt")
End Sub
Private Sub SetBTN_Click(sender As Object, e As EventArgs) Handles SetBTN.Click
REM sets the alarm time
Dim OneHourAgo As DateTime
Dim FormattedTime As String
OneHourAgo = Now.AddHours(-1)
FormattedTime = OneHourAgo.ToString("HH:mm:ss")
AlarmTimeLBL.Text = (FormattedTime)
End Sub
Private Sub setTimerDTP_ValueChanged(sender As Object, e As EventArgs) Handles setTimerDTP.ValueChanged
End Sub
Private Sub ResetBTN_Click(sender As Object, e As EventArgs) Handles ResetBTN.Click
REM Resets the alarm time LBL
AlarmTimeLBL.Text = ""
End Sub
Private Sub AlarmTimeLBL_Click(sender As Object, e As EventArgs) Handles AlarmTimeLBL.Click
End Sub
End Class
uj5u.com熱心網友回復:
您的“setTime”變數應該是一個DateTime,以便它包含日期。這使得處理跨越午夜的當前時間和持續時間變得更容易。
這就是它想要的:
Private setTime As DateTime
Private Sub AlarmTimerFRM_Load(sender As Object, e As EventArgs) Handles MyBase.Load
UpdateCurrentTime()
outCurrentTimeLBL.BackColor = Color.LightGray
Timer1.Start()
setTimerDTP.Format = DateTimePickerFormat.Custom
setTimerDTP.CustomFormat = "HH:mm:ss"
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
UpdateCurrentTime()
End Sub
Private Sub UpdateCurrentTime()
outCurrentTimeLBL.Text = DateTime.Now.ToString("hh:mm:ss tt")
End Sub
Private Sub SetBTN_Click(sender As Object, e As EventArgs) Handles SetBTN.Click
setTime = DateTime.Now.Add(setTimerDTP.Value.TimeOfDay)
AlarmTimeLBL.Text = setTime.ToString("hh:mm:ss tt")
SetBTN.Enabled = False
setTimerDTP.Enabled = False
Timer2.Start()
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
If DateTime.Now >= setTime Then
Timer2.Stop()
MessageBox.Show("Alarm time reached!")
SetBTN.Enabled = True
setTimerDTP.Enabled = True
End If
End Sub
uj5u.com熱心網友回復:
你可以加上 DateTime.Now 和用戶輸入時間。
Dim UserTime As String()
UserTime = Duration.Text.Split(':')
AlarmTimeLBL.Text = DateTime.Now.AddHours(UserTime(0)).AddMinutes(UserTime(1)).AddSeconds(UserTime(2))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/449363.html
上一篇:無法系結到DataSource上的屬性或列。VB.net
下一篇:面板可見性asp.net
