提问人:jhon barns 提问时间:3/5/2023 更新时间:3/5/2023 访问量:121
在 chromiumwebbrowser 中加载页面时,如何使用 progressBar 取消页面加载状态直到完成加载?
While loading a page in the chromiumwebbrowser how can I use a progressBar to displat the page loading state until finish loading?
问:
有一个loadingstatechanged事件,但我不确定在其中做什么? 有一个属性:IsLoading
e.IsLoading
但我想要的是将 progressBar 从 0 更新到 100 百分比或其他带有指示页面加载的 progressBar 的东西。
我已经在设计器中有一个 progressBar。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Weather
{
public partial class GoogleMapsForm : Form
{
public GoogleMapsForm()
{
InitializeComponent();
this.WindowState = FormWindowState.Maximized;
chromiumWebBrowser1.LoadingStateChanged += ChromiumWebBrowser1_LoadingStateChanged;
chromiumWebBrowser1.Load("D:\\Csharp Projects\\Weather\\map.html");
}
private void ChromiumWebBrowser1_LoadingStateChanged(object sender, CefSharp.LoadingStateChangedEventArgs e)
{
}
private void GoogleMapsForm_Load(object sender, EventArgs e)
{
}
}
}
答:
1赞
NineBerry
3/5/2023
#1
由于浏览器和 Web 服务器之间的通信方式,无法以百分比形式提供加载进度。看看主流浏览器,你会发现没有一个浏览器使用进度条来跟踪页面的加载状态。它们都使用某种形式的动画来显示加载状态。
如果要使用控件,请将其属性设置为“”,最初将其隐藏并仅在加载页面时显示它。ProgressBar
Style
Marquee
private void ChromiumWebBrowser1_LoadingStateChanged(object sender, CefSharp.LoadingStateChangedEventArgs e)
{
myProgressBar.Visible = e.IsLoading;
}
设置 的属性以控制动画速度。MarqueeAnimationSpeed
ProgressBar
评论