1

プログレスバーでいくつか試していますが、ポップアップが正しく表示されません。私がmsgboxを使用すると、何百回も表示され、msgboxを置き換えてform2を使用すると、閉じても表示され続けます。

Public Class Form1
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Timer1.Start()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ProgressBar1.Increment(1)
        If ProgressBar1.Value = ProgressBar1.Maximum Then
            MsgBox("Done")
        End If
    End Sub
End Class
4

2 に答える 2

1

メッセージを一度だけ表示したい場合は、メッセージ ボックスの前でタイマーを停止します

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

    ProgressBar1.Increment(1)
    If ProgressBar1.Value = ProgressBar1.Maximum Then
      Timer1.Stop()
      MsgBox("Done")
    End If
End Sub
于 2014-10-08T05:21:26.897 に答える
0

これは、あなたがタイマーではdisableないためです。Stopが最大値にProgressBar1.Value達すると、メッセージ ボックスに次のように表示されます"Done"が、タイマーはまだ実行されているため、条件If ProgressBar1.Value = ProgressBar1.Maximum Thenが true であるため、タイマーが無効になるまでメッセージが表示されます。そのため、条件が真の場合はタイマーを無効にする必要があります。

If ProgressBar1.Value = ProgressBar1.Maximum Then
  Timer1.Enabled = False
  MsgBox("Done")
End If

またはあなたが使用することができます Timer1.Stop()

于 2014-10-08T05:32:32.023 に答える