【问题标题】:Progress Bar Issue VB.Net进度条问题 VB.Net
【发布时间】:2016-07-15 01:55:09
【问题描述】:

在为我的 Web 浏览器加载进度条时遇到一个小问题,每当我输入代码时,我的程序中的 Windows.Forms.WebBrowserProgressChangedEventArgs 部分就会出现问题,由于某种原因,它的行为就像写不正确并试图找出这里到底出了什么问题。

Private Sub Loading(ByVal sender As Object, ByVal e As Windows.Forms.WebBrowserProgressChangedEventArgs)
    ToolStripProgressBar1.Maximum = e.MaximumProgress
    ToolStripProgressBar1.Value = e.MaximumProgress
End Sub

Private Sub Done(ByVal sender As Object, ByVal e As Windows.Forms.WebBrowserDocumentCompletedEventArgs)
    TabControl1.SelectedTab.Text = CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).DocumentTitle
    ComboBox1.Text = CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Url.ToString
End Sub

【问题讨论】:

  • 设置 value 属性的明显错误。它不再普遍有用了,现代网页是由 许多 下载组成的,30 并不罕见。此功能可以追溯到上个世纪和拨号调制解调器。今天你的宽带互联网连接和大型浏览器缓存只会让它疯狂闪烁。

标签: .net vb.net progress-bar webbrowser-control


【解决方案1】:

您每次都将value 设置为maximum,因此无法正确显示。

但是 - 您不应该使用MaxiumProgress 来设置进度条的Maximum 值,因为MaximumProgressLong 而ProgressBar Value 是@ 987654328@,因此如果您的文档很大,它可能会溢出。

你应该做的是计算百分比进度并显示:

Private Sub WebBrowser1_ProgressChanged(sender As Object, e As WebBrowserProgressChangedEventArgs) Handles WebBrowser1.ProgressChanged
    Dim percentage As Integer
    'calculate the percentage checking for zero maximum as an error case
    If e.MaximumProgress = 0 Then
        percentage = 0
    Else
        percentage = CInt(e.CurrentProgress / e.MaximumProgress * 100)
    End If
    'make sure it is in bounds of the progress bar
    If percentage >= 0 AndAlso percentage <= ToolStripProgressBar1.Maximum Then
        'set the value
        ToolStripProgressBar1.Value = percentage
    End If
End Sub

Private Sub WebBrowser1_Navigated(sender As Object, e As WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated
    'set the value to zero when we have finished
    ToolStripProgressBar1.Value = 0
End Sub

现在您可以将进度条的最小值设置为 0,将最大值设置为 100(这是默认值)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 2019-02-22
    • 2014-06-11
    • 2016-07-30
    相关资源
    最近更新 更多