示例#1
0
        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);
        }
示例#2
0
        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 += () =>
            {

            };
        }
示例#3
0
 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();
     };
 }
示例#4
0
 /// <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;
 }
示例#5
0
 public void MoveInTab(TabInfo tabInfo)
 {
     ucTabContainer1.AddTab(tabInfo);
 }
示例#6
0
 public UCTabButton(TabInfo tabInfo)
 {
     _ucTabPage = tabInfo.TabPage;
     _tabInfo = tabInfo;
     InitializeComponent();
 }