質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Q&A

解決済

1回答

2338閲覧

visual basic でストップウォッチ作成

sakaka

総合スコア20

Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

0グッド

0クリップ

投稿2021/05/07 01:32

編集2021/05/07 02:28

ヘディングのテキスト

以下のようにストップウォッチを作ったのですが、ストップを押しても時間が進んでしまいます。
解決策を教えて下さい。

visual basicコード

Public Class Form2
Private datstart1 As Date > 'nowを入れる変数
Private datstart2 As Date
Dim beforin As String
Dim rtime As TimeSpan
Dim bb As String
Dim ts As TimeSpan

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

Dim dd As Integer = Math.Floor(ts.Milliseconds / 10) lbl1.Text = Format(ts.Hours, "00") & ":" & Format(ts.Minutes, "00") & ":" & Format(ts.Seconds, "00") & "." & dd.ToString("00") End Sub Private Sub btn1_Click(sender As Object, e As EventArgs) Handles btn1.Click If btn1.Text = "スタート" Then > 'もしbtn1にスタートと表示されていたら Timer1.Enabled = True   > 'btn1は可能 If Not beforin = "ストップ " Then datstart1 = Now End If btn1.Text = "ストップ" > 'btn1がストップになる Me.btn3.Enabled = False > 'btn1は不可能 beforin = "スタート " Else Me.btn2.Enabled = True > 'btn1は可能- リスト btn1.Text = "ストップ " > 'btn1は不可能 Timer1.Enabled = False Me.btn3.Enabled = True   > 'btn1は可能 btn1.Text = "スタート" >   'btn1がスタートになる beforin = "ストップ " End If End Sub Private Sub btn3_Click(sender As Object, e As EventArgs) Handles btn3.Click lbl1.Text = "00:00:00.00" Me.btn1.Enabled = True   > 'btn1は可能 txt1.Text = ""       > 'クリアされる a = 0 beforin = "キャンセル" bb = "キャンセル" End Sub Dim a As Integer Private Sub btn2_Click(sender As Object, e As EventArgs) Handles btn2.Click Dim ts As TimeSpan Dim St As String = txt1.Text If beforin = "スタート " Then a = a + 1 '> これで押された回数を求める ts = DateTime.op_Subtraction(Now, datstart1) If bb = "キャンセル" Then rtime = Nothing bb = "0" End If ts = ts - rtime Dim dd As Integer = Math.Floor(ts.Milliseconds / 10) St = "♯" & a & " " & Format(ts.Hours, "00") & ":" & Format(ts.Minutes, "00") & ":" & Format(ts.Seconds, "00") & "." & dd.ToString("00") txt1.AppendText(St + vbCrLf) rtime = DateTime.op_Subtraction(Now, datstart1) End If End Sub

End Class

どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

itagagaki

2021/05/07 02:09

コードが読みにくいです。 マークダウン記法を利用してください。 https://teratail.com/help/question-tips#questionTips3-7 そして、このコードが、何がどうされたらどうなってどう動くはずなのか、順を追って解説してみてください。回答者のコードの理解に役立ちますし、そのことであなたの頭の中も整理されて気付かなかった問題に気付くかもしれません。
sakaka

2021/05/07 02:29

かしこまりました。ご指摘ありがとうございます。
guest

回答1

0

ベストアンサー

デバッガの使い方を覚えましょう。
チュートリアル: Visual Studio を使用した Visual Basic コードのデバッグについて理解する
ブレークポイントを設定しステップ実行しながら、各変数がどういう値になっているか、if文など判断が正しいのかなど確認してください。

投稿2021/05/07 02:49

YAmaGNZ

総合スコア10489

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakaka

2021/05/07 04:19

解決しました!! ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問