現今的大多數編輯軟體,幾乎都有分頁的功能,本文介紹如何使用滑鼠中鍵關閉其他的分頁。
假設目前有兩個分頁,當我目前在第二個分頁時,
我希望當我要關閉第一個分頁時,只需要使用滑鼠中鍵點擊第一個分頁,而不是先選取第一個分頁再用滑鼠中鍵關閉它。
private void Form1_Load(object sender, EventArgs e)
{
this.tabControl1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tabControl1_MouseWheelDown);
}
private void tabControl1_MouseWheelDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Middle) // 若按下滑鼠中鍵
{
Point p = this.tabControl1.PointToClient(Cursor.Position); // 取得游標所在位置的座標
for (int i = 0; i < this.tabControl1.TabCount; i++)
{
Rectangle r = this.tabControl1.GetTabRect(i); // 取得 TabPage 的邊框
// 如果游標落在邊框內
if (r.Contains(p))
{
if (this.tabControl1.TabCount > 1) // 如果分頁有一個以上再關閉
{
this.tabControl1.TabPages.RemoveAt(i); // 移除所在邊框的分頁
this.tabControl1.SelectedIndex = this.tabControl1.TabCount - 1; // 將所在邊框指定為最後一個
return;
}
}
}
}
}