Example #1
0
        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);
        }
Example #2
0
        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;
            }
        }