Vb.net 在vb中将总分钟数转换为天、小时、分钟

Vb.net 在vb中将总分钟数转换为天、小时、分钟,vb.net,Vb.net,我想将总分钟数转换为天、小时和分钟。我是vb新手,仍在努力学习。。。 这是我的密码 Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged TextBox1.Text = TextBox3.Text / 1440 End Sub Private Sub TextBox1_TextChanged(sender As Object

我想将总分钟数转换为天、小时和分钟。我是vb新手,仍在努力学习。。。 这是我的密码

    Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged
    TextBox1.Text = TextBox3.Text / 1440
    End Sub


    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    TextBox3.Text = TextBox1.Text * 1440
    TextBox7.Text = TextBox1.Text / 24
    End Sub

    Private Sub TextBox7_TextChanged(sender As Object, e As EventArgs) Handles TextBox7.TextChanged
    TextBox1.Text = TextBox7.Text * 24
    End Sub

当我运行它时,我得到的答案是十进制的。。有人能给我建议一个合适的方法吗?我不需要小数。

看起来你不理解变量的概念,你不需要有三个不同的处理程序来完成这项工作,你可以在一个处理程序中完成所有工作

你可以在算术上做你想做的事情,但在我看来,更简单的方法是使用TimeSpan。它看起来像这样:

'TextBox1 is where the user inputs the number of minutes
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    Dim d = TimeSpan.FromMinutes(TextBox1.Text) 'creates a TimeSpan based on user input, this is also a variable creation


    TextBox5.Text = d.ToString("dd\:hh\:mm") 'you can format it with a custom format


    'Or you can access the elements of the TimeSpan like so

    TextBox2.Text = d.Days
    TextBox3.Text = d.Hours
    TextBox4.Text = d.Minutes
End Sub

看起来你不理解变量的概念,你不需要有三个不同的处理程序来完成这项工作,你可以在一个处理程序中完成

你可以在算术上做你想做的事情,但在我看来,更简单的方法是使用TimeSpan。它看起来像这样:

'TextBox1 is where the user inputs the number of minutes
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    Dim d = TimeSpan.FromMinutes(TextBox1.Text) 'creates a TimeSpan based on user input, this is also a variable creation


    TextBox5.Text = d.ToString("dd\:hh\:mm") 'you can format it with a custom format


    'Or you can access the elements of the TimeSpan like so

    TextBox2.Text = d.Days
    TextBox3.Text = d.Hours
    TextBox4.Text = d.Minutes
End Sub

首先打开
选项Strict
文本控件包含文本-不能对文本进行数学运算。您还应该命名控件:
tbHours
在代码中比
TextBox18
更有意义,首先打开
选项Strict
文本控件包含文本-您无法对文本进行数学运算。您还应该为控件命名:
tbHours
在代码中比
TextBox18
更有意义,非常感谢您的帮助。。。我还有一个疑问。。。我有一个延迟时间域。。如何将延迟时间添加到上述代码中?我尝试了if-then语句,但无法使代码正常工作。我希望文本框1(如上面代码中所述)添加延迟时间(如果提到n),然后将总分钟数转换为天、小时和分钟。延迟时间是什么意思?发布你的更新代码。我的意思是如果我需要在上面的总分钟数中添加一个值,我该怎么做@oblYou应该能够更改文本框中的文本。每当TextBox1中的文本发生更改时,就会触发“Handles TextBox1.TextChanged”事件。非常感谢您的帮助。。。我还有一个疑问。。。我有一个延迟时间域。。如何将延迟时间添加到上述代码中?我尝试了if-then语句,但无法使代码正常工作。我希望文本框1(如上面代码中所述)添加延迟时间(如果提到n),然后将总分钟数转换为天、小时和分钟。延迟时间是什么意思?发布你的更新代码。我的意思是如果我需要在上面的总分钟数中添加一个值,我该怎么做@oblYou应该能够更改文本框中的文本。每当TextBox1中的文本发生更改时,就会触发“Handles TextBox1.TextChanged”事件。