cccc 发表于 2023-10-19 17:56:08

关于tabstrip自带菜单的问题

本帖最后由 cccc 于 2023-10-19 17:57 编辑





您好,上图这个菜单我想自己定义请问有什么方法?或者是否可以隐藏这个自带的菜单?

我自己用下面的代码定义了一个右键显示菜单事件,但是在sheet名称上方右键,还是显示的自带的菜单


private void fpSpread1_MouseUp(object sender, MouseEventArgs e)
      {
            var hitTest = fpSpread1.HitTest(e.X, e.Y);
            if (e.Button == MouseButtons.Right)
            {
                switch (hitTest.Type)
                {
                  case HitTestType.TabStrip:
                        if (hitTest.TabStripInfo.Sheet > 0)
                        {
                            contextMenuStripTab.Show(fpSpread1.PointToScreen(new Point(e.X, e.Y)));
                        }
                        break;
                  default: break;
                }
            }
      }

Richard.Ma 发表于 2023-10-19 17:56:09

本帖最后由 Richard.Ma 于 2023-11-1 14:09 编辑

嗯,这个菜单本身没法添加和删除项目的,本质上来说也并不是contextmenu

如果你是要自己定义右键菜单的话,还是得通过ContextMenu属性来定义

有一个关键点是可以自己判断点击的位置是否是tabstrip,然后动态生成对应的contextmenu,甚至是显示其他的自定义界面
      private void FpSpread1_MouseDown(object sender, MouseEventArgs e)
      {
            if (e.Button == MouseButtons.Right && fpSpread1.HitTest(e.X, e.Y).Type == HitTestType.TabStrip)
            {

            }

      }

Richard.Ma 发表于 2023-10-19 18:22:10

可以尝试通过这个fpSpread1.ContextMenu来获取和设置上下文菜单

cccc 发表于 2023-10-19 19:37:36

Richard.Ma 发表于 2023-10-19 18:22
可以尝试通过这个fpSpread1.ContextMenu来获取和设置上下文菜单

可以举例一下代码吗? 怎么可以去掉tabstrip自带的菜单

cccc 发表于 2023-10-19 19:40:28

Richard.Ma 发表于 2023-10-19 18:22
可以尝试通过这个fpSpread1.ContextMenu来获取和设置上下文菜单

这个不行吧   你是不是没有看清楚问题 ?

Richard.Ma 发表于 2023-10-20 11:06:21

不做任何设置的话,tab标签页上点击右键也是没有菜单的。你先确认一下有没有做过其他的设置

或者上传一个demo上来复现目前的情况

cccc 发表于 2023-10-22 16:00:22

cccc 发表于 2023-10-22 16:03:17

Richard.Ma 发表于 2023-10-20 11:06
不做任何设置的话,tab标签页上点击右键也是没有菜单的。你先确认一下有没有做过其他的设置

或者上传一 ...

我知道原因了,因为我设了editable属性
但是这个想过跟属性描述不要一致...
页: [1]
查看完整版本: 关于tabstrip自带菜单的问题