将ProgressBar分配给WebBrowser页面加载

时间:2013-10-30 17:51:25

标签: c# winforms progress-bar webbrowser-control

我正在使用WebBrowser控件浏览到不同的页面(通过单击Form本身上的按钮,将WebBrowser控件导航到不同的页面)。当它加载页面时,我想要一个ProgressBar来制作动画。它是否真正表明进展并不是一件大事 - 我可以使用Marquee样式在加载时为其设置动画。

问题是:如何在加载页面时以这种方式使ProgressBar动画,并在页面加载完成后停止?

1 个答案:

答案 0 :(得分:3)

查看WebBrowser.ProgressChanged事件。 MSDN页面说它非常“类似于Internet Explorer中的那个”。

代码片段直接从那里开始:

private void WebBrowser1_ProgressChanged(Object sender, WebBrowserProgressChangedEventArgs e) {

    System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
    messageBoxCS.AppendFormat("{0} = {1}", "CurrentProgress", e.CurrentProgress );
    messageBoxCS.AppendLine();
    messageBoxCS.AppendFormat("{0} = {1}", "MaximumProgress", e.MaximumProgress );
    messageBoxCS.AppendLine();
    MessageBox.Show(messageBoxCS.ToString(), "ProgressChanged Event" );
}

e.CurrentProgress表示到目前为止已经下载了多少字节,e.MaximumProgress表示要下载的字节数。很容易从中获得一个百分比,所以......你去吧!

我不会引导您完成如何制作进度条(有很多实现方法),但这应该可以帮助您。

这会回答你的问题吗?