我正在尝试制作一个计算某人清醒时间的程序。用户只需要输入他醒来的时间。但我遇到了两个问题:
我需要制作一个组合框供用户在PM和AM之间进行选择,但我不知道如何制作一个有多列的组合框。
如何使用Date类型变量进行计算?因为我需要获取当前时间并在用户醒来时减去。
以下是现在的代码:
Public Class Form1
Dim wokeup As Date
Dim now As Date
Dim awake As Date
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
now = DateAndTime.TimeOfDay
ComboBox1.Text = "AM"
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
wokeup = TextBox1.Text
Label2.Text = wokeup
End Sub
End Class
答案 0 :(得分:0)
1)我不确定“多列”是什么意思,但我猜你只需要用户在上午和下午之间做出选择。
Combobox1.Items.Add("AM")
Combobox1.Items.Add("PM")
Combobox1DropDownStyle = ComboBoxStyle.DropDownList
2)要减去时间间隔,您可以使用以下内容:
Dim timeAwake as TimeSpan = Date.Now.Subtract(CDate(Textbox1.Text))
如果文本框仅包含时间,则可能需要在Textbox1.Text
前添加当前日期。从timeAwake
开始,您可以使用timeAwake.TotalHours
清除总小时数。