Как удалить 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(); //удалить вкладку
→ Ссылка