【问题标题】:progressbar for webbrowser control in wpf c#wpf c#中webbrowser控件的进度条
【发布时间】:2015-08-12 12:24:53
【问题描述】:

我有一个带有选项卡的 wpf 应用程序,该选项卡显示 WebBrowser 控件,该控件加载给定客户的订单页面。此页面有几个对文档和框架的调用,之后控件会在 UI 中正确呈现内容。

我们计划为此选项卡实现一个进度条指示器,并且我们使用了一个带有后台工作器的进度条。

我们在 BrowserNavigating() 事件上将进度条显示属性设置为 true,并在浏览器控件的 DocumentComplete() 上将显示属性设置为 false。 由于我正在这样做,因此在所有 http 调用成功完成之前,进度条不会连续显示在 UI 中。所以它会时断时续,最终会导致糟糕的用户体验。

当我们尝试加载订单页面时,它至少会向服务器发出 6-10 次 http 调用。那么我们可以等待所有调用完成,然后才隐藏进度条吗?如何跟踪这些异步调用?

我在想我们可以使用某种数据结构(例如 Circular LL)来存储所有调用(BrowserNavigating 和 DocumentComplete),但是在等待 DocumentCompelte 事件之前,我如何知道是否所有调用都被触发了?

【问题讨论】:

    标签: c# .net wpf webbrowser-control


    【解决方案1】:

    我不知道如何正确解决此问题,但也许您可以通过使用 System.Threading.Thread.Sleep(x); 并将 x 替换为毫秒数来延迟隐藏进度条。这样它就不会隐藏一段时间,而下一个 http 调用可能会发生。完成所有调用后,它会在这段时间内保持显示,但不会一直显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 2011-08-06
      • 2011-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-10
      相关资源
      最近更新 更多