【发布时间】:2014-09-04 12:05:38
【问题描述】:
别忘了我唯一需要的是时间而不是日期只是时间
我将 datetimepicker ("hh:mm") 中的值保存到 my.settings 中,如下所示。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
My.Settings.firstStart = DateTimePicker1.Value.TimeOfDay
My.Settings.firstEnd = DateTimePicker2.Value.TimeOfDay
My.Settings.secondStart = DateTimePicker3.Value.TimeOfDay
My.Settings.secondEnd = DateTimePicker4.Value.TimeOfDay
My.Settings.Save()
End Sub
之后,我将 mysettings 中的值与当前时间进行比较,如下所示
Private Sub timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timer.Tick
If My.Settings.firstStart <= currentTime AndAlso currentTime <= My.Settings.firstEnd Then
Label2.Text = "First Class"
ElseIf My.Settings.secondStart <= currentTime AndAlso currentTime <= My.Settings.secondEnd Then
Label2.Text = "Second Class"
Else
Label2.Text = "Free Time"
End If
End Sub
为什么即使当前时间在 ("Second Class") 范围内,label2.text 也不想更改
它会,但是当我重新打开应用程序时,它会显示“二等”并且 label2.text 不会改变,直到我下次重新打开应用程序,无论经过多少时间。
接下来如何将数据从 my.settings 加载到我的 datetimepicker。 不要忘记唯一重要的是时间而不是日期我根本不需要使用日期
【问题讨论】:
-
你为什么用 ElseIf 来比较两个不同的东西?它们不是相互排斥的
-
你有 Option Strict On 吗? (如果没有,你应该有)
-
@plutonix 还有更多条件,在此之后我只复制了其中两个
-
currentTime如果您正在评估实际的当前时间,可能应该在 Timer 事件中设置。否则没有理由使用计时器。 -
@Plutonix 不敢相信我错过了。谢谢你的通知。如何将数据从设置加载到 DateTimePicker 只是另一件事。看看上面的代码。在表单加载事件上。请记住,我只需要时间而不是日期
标签: vb.net save loading datetimepicker