在tabControl中加入菜单,类似各个浏览器里的效果,如图所示:
如何判断当前右键点击对应的是哪个标签?
如何实现关闭右侧(左侧)标签的功能?

解决方案 »

  1.   

    如何判断当前右键点击对应的是哪个标签?图中点击对应的是Google图片的标签
    如何实现关闭右侧(左侧)标签的功能?
      

  2.   

    怎么关闭当前的,如何确定当前的是哪个?用SelectedTab吗?如图中selectedTab是第一个而不是右键点击时的Tab
      

  3.   

    private void tabControl_MouseMove(object sender, MouseEventArgs e)
    {
        TabPage tabPage = null;
        Point point = new Point(e.X, e.Y);
        for (int i = 0; i < this.tabControl.TabPages.Count; ++i)
        {
            Rectangle rect = this.tabControl.GetTabRect(i);
            if (rect.Contains(point))
            {
             tabPage = // 不用多说了吧
            }
        }
    }
      

  4.   

    this.tabControl.SelectedTab 就是当前所选择的标签页拉
      

  5.   

    例子供参照,点击tabc加载报表数据的
    事件自己改一下事件
          private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (tabControl1.SelectedIndex == 1&&ds!=null)//判断当前Tabpage
                {
                    string Path = @"\\10.8.2.31\ERPDataShare\BookBarCode.rpt";
                    rpd.Load(Path);
                    rpd.SetDataSource(ds.Tables[0]);
                    this.crvBookBarcode.ReportSource = rpd;                tabControl1.TabPages.Remove(tabControl1.SelectedTab);//删除当前
                }
            }
      

  6.   

    呵呵  我的意思不是那样,我知道SelectedTab就是当前的tab,但是如图中所示,当前的是Google,而菜单对应的是Google图片这个tab,你可以到浏览器的各个标签试试,对应菜单项的不是当前选中的tab