private void toolStripButton4_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show(String.Format(" Save changes in {0}? ", tabControl1.SelectedTab.Text), "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); if (result == DialogResult.No) { int select = tabControl1.SelectedIndex; TableList.Delete(tabControl1.SelectedTab.Text); if (select > 0) { tabControl1.SelectedIndex--; } else if (select == 0 && tabControl1.TabPages.Count >= 1) { tabControl1.SelectedIndex++; } tabControl1.TabPages.Remove(tabControl1.TabPages[select]); } else if (result == DialogResult.Yes) { int select = tabControl1.SelectedIndex; TableList.SaveAndDelete(tabControl1.SelectedTab.Text); if (select > 0) { tabControl1.SelectedIndex--; } else if (select == 0 && tabControl1.TabPages.Count >= 1) { tabControl1.SelectedIndex++; } tabControl1.TabPages.Remove(tabControl1.TabPages[select]); } }
private void tabControl1_MouseUp(object sender, MouseEventArgs e) { // проверяем что нажата была правая кнопка if (e.Button == MouseButtons.Right) { // проходим циклом по всем табам для поиска на котором был клик for (int i = 0; i < tabControl1.TabCount; i++) { // получаем область таба и проверяем входит ли курсор в него или нет Rectangle r = tabControl1.GetTabRect(i); if (r.Contains(e.Location)) { // показываем контекстое меню и сохраняем номер таба //System.Diagnostics.Debug.WriteLine("TabPressed: " + i); //contextMenuStrip1.Tag = i; // сохраняем номер таба //contextMenuStrip1.Show((Control)sender, (e.Location)); DialogResult result = MessageBox.Show(String.Format(" Save changes in {0}? ", tabControl1.TabPages[i].Text), "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); if (result == DialogResult.No) { TableList.Delete(tabControl1.TabPages[i].Text); if (tabControl1.SelectedIndex == i && i > 0) { tabControl1.SelectedIndex = i - 1; } else if (i == 0 && tabControl1.SelectedIndex == i && tabControl1.TabPages.Count >= 1) { tabControl1.SelectedIndex++; } tabControl1.TabPages.Remove(tabControl1.TabPages[i]); } else if (result == DialogResult.Yes) { TableList.SaveAndDelete(tabControl1.TabPages[i].Text); if (tabControl1.SelectedIndex == i && i > 0) { tabControl1.SelectedIndex = i - 1; } else if (i == 0 && tabControl1.SelectedIndex == i && tabControl1.TabPages.Count >= 1) { tabControl1.SelectedIndex++; } tabControl1.TabPages.Remove(tabControl1.TabPages[i]); } } } } }