[英]Restart a form that is disposed
父表單會啟動一個子表單,該子表單會通過CEFSharp嵌入Chromium嵌入式框架。 用戶可以關閉子窗體。 用戶可以重新啟動子窗體。 發生這種情況時,應用程序終止。
if (debugForm == null || debugForm.IsDisposed)
{
if (debugForm != null && debugForm.IsDisposed)
{
debugForm = null;
}
debugForm = new CEFdebugger();
....
}
表單運行一次后,關閉並重新啟動該行
debugForm = new CEFdebugger();
使應用程序終止。 在輸出窗口中,我有
... has exited with code 1073741855 (0x4000001f)
根據該線程,這表明我應該啟用調試非托管代碼,但這似乎沒有幫助。 在CEFdebugger的FormClosing事件中,我添加了
private void CEFdebugger_FormClosing(object sender, FormClosingEventArgs e)
{
Cef.Shutdown();
this.Controls.Remove(browser);
browser = null;
}
那沒有幫助。 該應用程序剛剛終止。
問題是由以下語句引起的
Cef.Shutdown();
在CEFdebugger_FormClosing中。 通過注釋掉它並在表單構造函數中測試Cef.IsInitialized,問題得以解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.