我开发了用于在Windows应用中调用网页的chrome嵌入式用户控件。现在,我需要在第二次用户点击按钮时刷新/重新加载网页。
我已经尝试过以下代码,但它没有重新加载页面。
panel.Visible = true;
var settings = new CefSettings
{
IgnoreCertificateErrors = true,
CachePath = "<linktoabsolutecachepath>",
LogFile = "<mylogfile>"
};
settings.CefCommandLineArgs.Add("enable-media-stream", "1");
_chromeBrowser.Refresh();
_chromeBrowser = new ChromiumWebBrowser(_puzzleUrl);
panel.Size = new Size(2000, 1650);
panel.Location = new Point(-450, 364);
panel.Controls.Add(_chromeBrowser);
我使用ChromiumWebBrowser在面板中加载网页
答案 0 :(得分:1)
我认为没有必要在每次需要重新加载时清除所有控件并创建新的浏览器。相反,您可以使用ChromiumWebBrowser
的旧实例并执行_chromeBrowser.Reload()
(docs)。您发布的所有其余代码也无需刷新。
答案 1 :(得分:1)
_chromeBrowser.Stop(); //Stops loading the current page.
_chromiumWebBrowser.Reload();//Reloads the page being displayed.
//This method will use data from the browser's cache, if available.
答案 2 :(得分:-1)
最后,我找到了解决此问题的更好方法。每次初始化 ChromiumWebBrowser 对象时,最好清除我们在windows窗体中分配chromiumBrowser控件的面板。
您可以清除面板控件: -
<强> panel.Controls.Clear(); 强>