public void CloseTab(TabPage tabPage) { CtrlTabPage tab = tabControl.SelectedTab.Tag as CtrlTabPage; tab.Dispose(); tabPage.Dispose(); }
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(); }
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); } }