2017-04-01 21 views
0

合計の分を日時の時間と分に変換したい。私は10進数で答えを持っていますそれを実行したとき、私は...これは私のコードである ...合計分を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 

VBに新しいですし、まだ学ぶしようとしている...誰もが私にこれを行うための適切な方法を提案することができます?私は小数点を必要としません。

+1

「Option Strict」のテキストコントロールにはテキストが含まれています。テキストには数学を行うことはできません。あなたのコントロールにも名前をつけるべきです: 'tbHours'は' TextBox18'よりもコードに意味があります – Plutonix

答えて

4

変数の概念を理解しているようには見えません。この作業を行うために3つの異なるハンドラを用意する必要はありません。すべてを1つのハンドラで実行できます。

あなたは算術的にしたいことをすることができますが、私の意見では、簡単な方法は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 
+0

助けてくれてありがとうございます...もう一つの疑問があります...私は遅延時間のフィールドを持っています..どのように私は上記のコードに遅延時間を追加することができますか? – APMK

+0

if then文を試しましたが、コードがうまく動作しませんでした。上記のコードのようにtextbox1に遅延時間を追加してnを指定した後、合計分を日、時間、分に変換します。 – APMK

+0

遅延時間はどういう意味ですか?更新されたコードを投稿してください。 – obl

0

enter image description here

:それは次のようになります。時間。新しい値に変更するには... @obl

+0

"Handles TextBox1.TextChanged"の代わりに、 "Handles DelayTimeBox.TextChanged"になります。 TextBox5を、出力を示すTextBoxの名前に置き換えます。 – obl

関連する問題