雙擊滑鼠關閉TabPage


一個蠻有趣的雙擊滑鼠後關閉 TabControl 上的 TabPage 的方法?
其實直接用下面這方法不行麼?

1
2
3
4
private void tabPanel_DoubleClick(object sender, EventArgs e)
{
tabPanel.Controls.Remove(tabPanel.SelectedTab);
}

有趣的方法..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// 首先對 TabControl 增加一個事件響應的函數
this.tabControl1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(tabControl1_MouseDoubleClick);

// 然後再加入這函數
private void tabControl1_MouseDoubleClick(object sender, MouseEventArgs e)
{

TabControl tabControl1 = (TabControl)sender;
Point pt = new Point(e.X, e.Y);

for (int i = 0; i < tabControl1.TabCount; i++)
{
Rectangle recTab = tabControl1.GetTabRect(i);
if (recTab.Contains(pt))
{
TabPage seltab = this.tabControl1.SelectedTab;
int seltabindex = this.tabControl1.SelectedIndex;

tabControl1.Controls.Remove(seltab);
tabControl1.SelectTab(seltabindex - 1);

return;
}
}


}