【问题标题】:Label Not Showing Progress Bar % VB.Net标签不显示进度条 % VB.Net
【发布时间】:2020-09-01 09:52:22
【问题描述】:

我正在尝试使用 VB.Net 2019 获取标签以在 Windows 窗体中显示进度条的百分比,但由于某种原因,标签未更新。

如果我用标签代替表单文本,那么它可以工作,但我不明白为什么使用标签不起作用。

我一定遗漏了一些明显的东西,但我看不到什么!

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    ProgressBar.Visible = True
    For i As Integer = 0 To 10
        Dim percent As Integer = i * 10
        ProgressBar.Value = percent
        Label1.Text = percent & "%" '<-- This does not show the %
        Me.Text = percent & "%" '<-- This does show the %
        Thread.Sleep(100)
    Next
    ProgressBar.Visible = False
End Sub

【问题讨论】:

    标签: vb.net progress-bar


    【解决方案1】:

    刷新标签就可以了。

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ProgressBar.Visible = True
        For i As Integer = 0 To 10
            Dim percent As Integer = i * 10
            ProgressBar.Value = percent
            Label1.Text = percent & "%"
            Label1.Refresh() '<--This updated the Label
            Thread.Sleep(100)
        Next
        ProgressBar.Visible = False
    End Sub
    

    【讨论】:

      【解决方案2】:

      你也可以使用Task.Delay

      Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
          ProgressBar.Visible = True
          For i As Integer = 0 To 10
              Dim percent As Integer = i * 10
              ProgressBar.Value = percent
              Label1.Text = percent & "%"
              Await Task.Delay(500)
          Next
          ProgressBar.Visible = False
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-13
        • 2023-03-10
        相关资源
        最近更新 更多