private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { var pageUrls = new List <SavedPageInfo>(); var arr = TabFormControl.Pages.ToArray(); foreach (var page in arr) { var browser = GetBrowserControl(page); if (browser == null) { continue; } var newItem = new SavedPageInfo() { Url = browser.XWV.Url, Title = page.Text }; pageUrls.Add(newItem); } AppSavedState.Update((state) => { state.OpenPages = pageUrls; }); }
public MainForm() { InitializeComponent(); var iconPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Resources/main.ico"); IconOptions.Icon = new Icon(iconPath); TabFormControl.PageCreated += (s, e) => { InitPage(e.Page); }; TabFormControl.SelectedPageChanged += (s, e) => { OnSelectPage(e.Page); }; InitPage(TabFormControl.Pages[0]); OnSelectPage(TabFormControl.Pages[0]); var state = AppSavedState.Load(); if (state.OpenPages?.Any() == true) { var defaultPage = TabFormControl.Pages[0]; foreach (var item in state.OpenPages) { TabFormControl.AddNewPage(); var page = TabFormControl.Pages.Last(); page.Text = item.Title; var browser = GetBrowserControl(page); browser.XWV.WaitInitialization().ContinueWith(async(t) => { await browser.XWV.WaitWhileNavigating(); await browser.XWV.LoadUrl(item.Url); }); } TabFormControl.ClosePage(defaultPage); } }