C#中用鼠标右键选中tabpage选项卡 并且弹出右键菜单,实现选项卡的关闭

来源:互联网 发布:硅谷数模 知乎 编辑:程序博客网 时间:2024/05/01 00:47

首先拖一个 ContextMenuStrip 控件

 

      private void UserSecurityTab_MouseDown(object sender, MouseEventArgs e)
      {
        if (e.Button == MouseButtons.Right)
        {
          for (int i = 0; i < UserSecurityTab.TabPages.Count; i++)
          {
            TabPage tp = UserSecurityTab.TabPages[i];
            if (UserSecurityTab.GetTabRect(i).Contains(new Point(e.X, e.Y)))
            {
              UserSecurityTab.SelectedTab = tp;

              break;
            }
          }         //实现右键选中选项卡

 

//右键选中选项卡 转自:http://www.cnblogs.com/yuandy/archive/2007/07/27/833221.html


          this.UserSecurityTab.ContextMenuStrip = this.UserMenu;  //弹出菜单
        }
      } 

 

 

      private void UserSecurityTab_MouseLeave(object sender, EventArgs e)
      {
        this.UserSecurityTab.ContextMenuStrip = null;  //离开选项卡后 取消菜单
      }

 

 

      private void closeCToolStripMenuItem_Click(object sender, EventArgs e)
      {
        this.UserSecurityTab.SelectedTab.Dispose();  //关闭当前选中的tabpage页
      }

 

 

      private void allCloseAToolStripMenuItem_Click(object sender, EventArgs e)
      {
        foreach(TabPage tp in this.UserSecurityTab.TabPages)
        {
          tp.Dispose();   //关闭全部tabpage 页
        }
      }

 

      //想实现双击选项卡 关闭TabPage页  直接用MouseDoubleClick 事件

      private void UserSecurityTab_MouseDoubleClick(object sender, MouseEventArgs e)
      {
        this.UserSecurityTab.SelectedTab.Dispose();
      }

 

说明一下:我这里用的TabControl 不是VS自带的 ,而使用的第三方控件 FlatTabControl  很好用哟,推荐大家用这个............

 

 

 

原创粉丝点击