private void ItemSelected(object sender, EventArgs e) { ListViewItem item = listView.SelectedItems[0]; FileDetails file = (FileDetails)item.Tag; if (tabs.ContainsKey(file)) { viewers.SelectedTab = tabs[file]; } else { Viewer viewer = Viewer.CreateViewer(file); if (viewer != null) { BpTabPage newpage = new BpTabPage(); newpage.Text = viewer.Title; newpage.ImageIndex = item.ImageIndex; tabs[file] = newpage; viewers.Controls.Add(newpage); viewers.SelectedTab = newpage; newpage.Controls.Add(viewer); viewer.Dock = DockStyle.Fill; } else { MessageBox.Show("No viewer capable of displaying this file is included.", "Cannot view file", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } }
private void RemoveFile(FileDetails file) { if (tabs.ContainsKey(file)) { BpTabPage page = tabs[file]; viewers.Controls.Remove(page); } foreach (ListViewItem item in listView.Items) { if (item.Tag == file) { listView.Items.Remove(item); } } }
/// <summary> /// Event handler for the "Add Tab" verb. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="ea"> /// Some <see cref="EventArgs"/>. /// </param> private void AddTab(object sender, EventArgs ea) { IDesignerHost dh = ( IDesignerHost )GetService(typeof(IDesignerHost)); if (dh != null) { int i = ytc.SelectedIndex; string name = GetNewTabName(); BpTabPage ytp = dh.CreateComponent(typeof(BpTabPage), name) as BpTabPage; ytp.Text = name; ytc.Controls.Add(ytp); ytc.SelectedTab = ytp; RaiseComponentChanging(TypeDescriptor.GetProperties(Control)["SelectedIndex"]); RaiseComponentChanged(TypeDescriptor.GetProperties(Control)["SelectedIndex"], i, ytc.SelectedIndex); } }
/// <summary> /// Event handler for the "Remove Tab" verb. /// </summary> /// <param name="sender"> /// The sender. /// </param> /// <param name="ea"> /// Some <see cref="EventArgs"/>. /// </param> private void RemoveTab(object sender, EventArgs ea) { IDesignerHost dh = ( IDesignerHost )GetService(typeof(IDesignerHost)); if (dh != null) { int i = ytc.SelectedIndex; if (i > -1) { BpTabPage ytp = ytc.SelectedTab; ytc.Controls.Remove(ytp); dh.DestroyComponent(ytp); RaiseComponentChanging(TypeDescriptor.GetProperties(Control)["SelectedIndex"]); RaiseComponentChanged(TypeDescriptor.GetProperties(Control)["SelectedIndex"], i, 0); } } }