private Page CreatePage(string pageName, Page src) { var tabPage = new TabPage(); tabPage.Text = pageName; tabPage.AutoScroll = true; tabControl_pages.TabPages.Add(tabPage); var panel = new Panel(); panel.Name = pageName; panel.BackColor = Color.Transparent; panel.Padding = new Padding(0); panel.Location = new Point(0, 0); panel.Width = LayoutSetting.GetWidth(LayoutSetting.SizeModeWidth); panel.Height = LayoutSetting.GetHeight(LayoutSetting.SizeModeHeight); tabPage.Controls.Add(panel); var page = new Page(pageName); page.Title = (src != null) ? src.Title : "Title"; page.VisibleTitle = (src != null) ? src.VisibleTitle : true; page.VisibleBackButton = (src != null) ? src.VisibleBackButton : true; page.CloseMode = (src != null) ? src.CloseMode : PageCloseMode.Hide; page.PageBody.Resize += pageBody_Resize; page.PageBody.Paint += pageBody_Paint; page.PageBody.MouseDown += pageBody_MouseDown; page.PageBody.MouseMove += pageBody_MouseMove; page.PageBody.MouseUp += pageBody_MouseUp; panel.Controls.Add(page); LayoutSetting.Invalidate(tabPage); return(page); }
private void propertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) { switch (e.ChangedItem.Label) { case "SizeModeWidth": foreach (TabPage tabPage in tabControl_pages.TabPages) { foreach (var page in tabPage.Controls[0].Controls.OfType <Page>()) { page.Parent.Width = LayoutSetting.GetWidth((SizeMode)e.ChangedItem.Value); } } break; case "SizeModeHeight": foreach (TabPage tabPage in tabControl_pages.TabPages) { foreach (var page in tabPage.Controls[0].Controls.OfType <Page>()) { page.Parent.Height = LayoutSetting.GetHeight((SizeMode)e.ChangedItem.Value); } } break; case "PageName": var tab = tabControl_pages.SelectedTab; if (tab == null) { return; } string pageName = e.ChangedItem.Value as string; if (string.IsNullOrWhiteSpace(pageName)) { return; } if (pageName == "Main") { return; } tab.Text = pageName; SelectedPage.PageName = pageName; SelectedPage.PageItems.ForEach(o => o.PageName = pageName); break; } }