Progress bar for a web browser control

2019-02-27 09:05发布

How can I put, and use, a progress bar for my web browser control, in a windows application project, using the c# language?

3条回答
我命由我不由天
2楼-- · 2019-02-27 09:18
爱情/是我丢掉的垃圾
3楼-- · 2019-02-27 09:32

Use WebBrowser.ProgressChanged Event, but to report the progress use the code below:

private void WebBrowser1_ProgressChanged(Object sender, 
                                         WebBrowserProgressChangedEventArgs e)
{
    progressBar.Maximum = (int) e.MaximumProgress;
    if (e.CurrentProgress > 0)
       progressBar.Value = (int) e.CurrentProgress;
}
查看更多
Evening l夕情丶
4楼-- · 2019-02-27 09:38

The WebBrowser control has a ProgressChanged event:

You need to attach an event handler to the ProgressChanged event:

WebBrowser1.ProgressChanged += WebBrowser1_ProgressChanged;

This is shorthand for:

WebBrowser1.ProgressChanged += new WebBrowserProgressChangedEventHandler(WebBrowser1_ProgressChanged);

The compiler will infer the handler and add that at compile time.

Next, implement the handler:

private void WebBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e) {
    ProgressBar1.Value = e.CurrentProgress;
}

The WebBrowserProgressChangedEventArgs type supports a CurrentProgress property which reflects the current state of the browser control's progress.

查看更多
登录 后发表回答