public void LoadTabs() // called on Loading.. { //foreach (TabPage tp in tabControlMain.TabPages) System.Diagnostics.Debug.WriteLine("TP Size " + tp.Controls[0].DisplayRectangle); UserControls.UserControlContainerSplitter primary = PrimaryTab; foreach (TabPage p in TabPages) // all main tabs, load/display { // now a strange thing. tab Selected, cause its shown, gets resized (due to repoisition form). Other tabs dont. // LoadLayout could fail due to an incorrect size that would break something (such as spitters).. // so force size. tried perform layout to no avail p.Size = TabPages[SelectedIndex].Size; UserControls.UserControlCommonBase uccb = (UserControls.UserControlCommonBase)p.Controls[0]; uccb.SetCursor(primary.GetTravelGrid); uccb.LoadLayout(); uccb.InitialDisplay(); } //foreach (TabPage tp in tabControlMain.TabPages) System.Diagnostics.Debug.WriteLine("TP Size " + tp.Controls[0].DisplayRectangle); }
public void CloseTabList() { List <int> idlist = new List <int>(); idlist.Add(SelectedIndex); // first is current index string tabnames = ""; UserControls.UserControlContainerSplitter primary = PrimaryTab; foreach (TabPage p in TabPages) // all main tabs, load/display { UserControls.UserControlCommonBase uccb = p.Controls[0] as UserControls.UserControlCommonBase; uccb.CloseDown(); PanelInformation.PanelInfo pi = PanelInformation.GetPanelInfoByType(uccb.GetType()); idlist.Add(Object.ReferenceEquals(uccb, primary) ? -1 : (int)pi.PopoutID); // primary is marked -1 idlist.Add(uccb.displaynumber); tabnames += p.Text + ";"; } EliteDangerousCore.DB.UserDatabase.Instance.PutSettingString(EDDProfiles.Instance.UserControlsPrefix + "MajorTabControlList", string.Join(",", idlist)); EliteDangerousCore.DB.UserDatabase.Instance.PutSettingString(EDDProfiles.Instance.UserControlsPrefix + "MajorTabControlName", tabnames); }