Как удалить CefSharp C# с формы?
У меня появился вопрос, как я могу удалить браузер с формы? Создаю таким образом
_cefSettings = new CefSettings
{
CachePath = AppDomain.CurrentDomain.BaseDirectory + "cache",
};
_cefSettings.CefCommandLineArgs.Add("disable-gpu");
Cef.Initialize(_cefSettings);
CefSharpSettings.ShutdownOnExit = false;
_browser = new ChromiumWebBrowser("https://bitly.com/")
{
Dock = DockStyle.Fill,
LifeSpanHandler = new BrowserSettingClose(),
};
tabPage3.Controls.Add(_browser);
Но когда пытаюсь вызвать Cef.Shutdown(), то форма закрывается. И возможно ли после успешного удаления, создать его вновь, без перезагрузки формы?
Ответы (1 шт):
Автор решения: Dima
→ Ссылка
Сначала создаёте например панель, потом ставите вкладку браузера на эту панель, а когда захотите удалить вкладку, сначала удалите с формы панель и уже после этого вызовите метод Dispose для вкладки браузера. Вот пример кода который создаёт вкладку и сразу же удаляет, без закрытия формы.
var panel=new Panel(); //создать панель
Controls.Add(panel); //добавить панель на форму
var browser=new ChromiumWebBrowser(""); //создать вкладку браузера
panel.Controls.Add(browser); //добавить вкладку на панель
Controls.Remove(panel); //удалить панель. Если эту строку убрать, то форма будет закрываться на следующей строке
browser.Dispose(); //удалить вкладку