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


首先拖一个 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  很好用哟,推荐大家用这个............


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wxm3630478/archive/2009/06/24/4293980.aspx

posted on 2011-04-27 21:41  Henry_Wang  阅读(2582)  评论(0编辑  收藏  举报

导航