/// <summary> /// Checks if displayer is contained /// </summary> /// <param name="displayer">Displayer to be checked</param> /// <returns></returns> public bool Contains(IDisplayer displayer) { MultitabPage displayerPage = displayer as MultitabPage; if (displayerPage != null) { return(TabPages.Contains(displayerPage)); } return(false); }
private void OnRemoveTabPage(object sender, EventArgs e) { if (Control.TabPages.Count != 0) { IDesignerHost service = (IDesignerHost)GetService(typeof(IDesignerHost)); MultitabPage selectedTab = Control.SelectedTab; Control.CloseTab(selectedTab); service.DestroyComponent(selectedTab); } }
private void OnAddTabPage(object sender, EventArgs e) { IDesignerHost service = (IDesignerHost)GetService(typeof(IDesignerHost)); MultitabPage page = service.CreateComponent(Control.TypeOfPages) as MultitabPage; if (page != null) { page.Text = "MultitabPage" + (Control.TabPages.Count + 1); Control.TabPages.Add(page); } }
private void ReactToMouseClick(int messageType) { if (Control.TabPages.Count != 0) { Point point = Control.PointToClient(Cursor.Position); int pageByPoint = Control.GetPageByPoint(point); if (pageByPoint != -1) { MultitabPage tabPage = Control.TabPages[pageByPoint]; if (messageType == 0x201) { Control.SelectTab(tabPage); } else if (messageType == 0x207) { IDesignerHost service = (IDesignerHost)GetService(typeof(IDesignerHost)); Control.CloseTab(tabPage); service.DestroyComponent(tabPage); } } else if (Control.DropDownButton.Bounds.Contains(point)) { Control.ActivePagesMenu.Items.Clear(); for (int i = 0; i < Control.TabPages.Count; i++) { Control.ActivePagesMenu.Items.Add(Control.TabPages[i].Text, null, Control.TabClicked).Tag = Control.TabPages[i]; } Control.ActivePagesMenu.Show(Control, Control.DropDownButton.Left, Control.DropDownButton.Top + Control.DropDownButton.Height); } else if (Control.CloseButton.Bounds.Contains(point)) { Control.CloseTab(Control.SelectedTab); } else if (((pageByPoint == -1) && (messageType == 0x207)) && (Control.TabPages.Count > 0)) { IDesignerHost host2 = (IDesignerHost)GetService(typeof(IDesignerHost)); MultitabPage selectedTab = Control.SelectedTab; Control.CloseTab(selectedTab); host2.DestroyComponent(selectedTab); } } }
private void OnRemoving(object sender, ComponentEventArgs e) { IDesignerHost service = (IDesignerHost)GetService(typeof(IDesignerHost)); if (e.Component is MultitabPage) { MultitabPage component = e.Component as MultitabPage; if (Control.TabPages.Contains(component)) { Control.CloseTab(component); return; } } if (e.Component == Control) { for (int i = Control.TabPages.Count - 1; i >= 0; i--) { MultitabPage page = Control.TabPages[i]; Control.TabPages.Remove(page); service.DestroyComponent(page); } } }
public AvMultitabControlEventArgs(AvMultitabControlAction action, MultitabPage tabPage) { _action = action; _tabPage = tabPage; }