public void AddTab(WebKitBrowser browser) { var tabInfo = new TabInfo(); browser.Dock = DockStyle.Fill; browser.Load += (o, e) => { browser.GetScriptManager.ScriptObject = new RecordAdapter() { ListBrowser = WebKitBrowser }; }; RegisterEvent(tabInfo, browser); tabInfo.TabPage.Controls.Add(browser); ucTabContainer1.AddTab(tabInfo); }
public void AddTab(TabInfo tabInfo) { tabInfo.UCTabContainer = this; ; tabInfo.TabButton.Left = _leftForTabButton; _leftForTabButton += tabInfo.TabButton.Width; tabInfo.TabButton.Click += (o, e) => { tabInfo.UCTabContainer.SelectedTabInfo = tabInfo; }; pTabButtonContainer.Controls.Add(tabInfo.TabButton); pTabPageContainer.Controls.Add(tabInfo.TabPage); TabInfoList.Add(tabInfo); SelectedTabInfo = tabInfo; tabInfo.OnDisposed += () => { }; }
private static void RegisterEvent(TabInfo tabInfo, WebKitBrowser browser) { tabInfo.TabButton.OnDragOut += (t) => { t.MoveToNewForm(MousePosition); }; browser.DocumentCompleted += (o, e) => { tabInfo.TabButton.UCText = browser.DocumentTitle; tabInfo.TabButton.Tip = browser.DocumentTitle; }; browser.NewWindowCreated += (o, e) => { FmTabBase.Default.AddTab(e.WebKitBrowser); if (!FmTabBase.Default.Visible) FmTabBase.Default.Show(); }; }
/// <summary> /// 从集合和界面中移除 /// 注意:如果WebBrowser不再使用,不应直接调用此操作。应该调用TabInfo的RemoveAndDispose方法 /// </summary> /// <param name="tabInfo"></param> /// <returns></returns> public TabInfo Remove(TabInfo tabInfo) { TabInfoList.Remove(tabInfo); pTabButtonContainer.Controls.Remove(tabInfo.TabButton); pTabPageContainer.Controls.Remove(tabInfo.TabPage); if (tabInfo == SelectedTabInfo) { if (_preSelectedTabInfo != null && _preSelectedTabInfo != tabInfo && TabInfoList.Contains(_preSelectedTabInfo)) { SelectedTabInfo = _preSelectedTabInfo; } else if (TabInfoList.Count != 0) { SelectedTabInfo = TabInfoList.First(); } } RefreshTabButtonContainer(); if (TabInfoList.Count == 0 && OnTabsEmpty != null) OnTabsEmpty(); return tabInfo; }
public void MoveInTab(TabInfo tabInfo) { ucTabContainer1.AddTab(tabInfo); }
public UCTabButton(TabInfo tabInfo) { _ucTabPage = tabInfo.TabPage; _tabInfo = tabInfo; InitializeComponent(); }