示例#1
0
        public void CloseTab(TabPage tabPage)
        {
            CtrlTabPage tab = tabControl.SelectedTab.Tag as CtrlTabPage;

            tab.Dispose();
            tabPage.Dispose();
        }
示例#2
0
        public void LoadImage(string filename, bool newTab = true)
        {
            CtrlTabPage tab = new CtrlTabPage(filename)
            {
                Dock = DockStyle.Fill
            };

            TabPages.Add(tab);

            if (newTab)
            {
                TabPage page = new TabPage(tab.FileNameWithoutExtension)
                {
                    Tag = tab
                };
                page.Controls.Add(tab);
                tabControl.TabPages.Add(page);
            }
            else
            {
                TabPage page = tabControl.SelectedTab;
                (page.Tag as CtrlTabPage).Dispose();
                foreach (Control pageControl in page.Controls)
                {
                    pageControl.Dispose();
                }
                page.Controls.Clear();
                page.Tag  = tab;
                page.Text = tab.FileNameWithoutExtension;
                page.Controls.Add(tab);
            }
            tab.ProcessImage();
        }
示例#3
0
        public void UpdateStatusBar()
        {
            if (tabControl.SelectedIndex >= 0 && tabControl.TabCount > 0)
            {
                CtrlTabPage TabPage = tabControl.SelectedTab.Tag as CtrlTabPage;
                if (!TabPage.IsLoaded)
                {
                    SetVisibleStatusBarDynamicItems(false);
                    return;
                }

                sbLabelImagePosition.Text       = TabPage.ImageCursorLocation.ToString();
                sbLabelImageSize.Text           = TabPage.ImageSize.ToString();
                sbLabelImageScrollPosition.Text = TabPage.ImageScrollPosition.ToString();
                sbLabelImageZoom.Text           = $"{TabPage.ImageZoom}% ({TabPage.ImageZoomFactor}x)";

                SetVisibleStatusBarDynamicItems(true);
            }
            else
            {
                SetVisibleStatusBarDynamicItems(false);
            }
        }