0

プログレスバーに現在の進行状況を表示させようとしていますが、何らかの理由でプログレスバーが表示されただけで何も起こりません。次のコードを使用しています

Private Sub BuildApp_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles BuildApp.ProgressChanged
        Me.ProgressBar1.Value = e.ProgressPercentage
End Sub

バックグラウンドワーカーのプロパティがステータスを報告するように設定されているかどうかを確認し、「はい」に設定されています。また、進行状況バーのスタイルを確認しました。ブロックに設定されています。何か助けはありますか?

4

1 に答える 1

4

ここに簡単な例があります...

Public Class Form1

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Button1.Enabled = False
        BuildApp.RunWorkerAsync()
    End Sub

    Private Sub BuildApp_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles BuildApp.DoWork
        Dim someTotal As Integer = 12
        For x As Integer = 1 To someTotal
            System.Threading.Thread.Sleep(1000) ' simulated work
            BuildApp.ReportProgress(x / someTotal * 100) ' pass the current percentage value
        Next
    End Sub

    Private Sub BuildApp_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles BuildApp.ProgressChanged
        Me.ProgressBar1.Value = e.ProgressPercentage
    End Sub

    Private Sub BuildApp_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BuildApp.RunWorkerCompleted
        MessageBox.Show("Done!")
        Button1.Enabled = True
    End Sub

End Class
于 2013-07-07T23:40:29.570 に答える