DotNetBar toolbar 屏蔽右键弹出自带菜单
如下图的自定义菜单,怎么屏蔽掉

解决方案 »

  1.   

    如果要屏蔽的话把其父控件的CanCustomize设置为false即可
      

  2.   

    有设置CanCustomize为false,还是那样
      

  3.   

    是把其父控件的这个属性吗?你要在父控件中填满
    在.net中,使用DevComponents.DotNetBar.dll时,使用RibbonBar控件,其默认有个Customoze出来。类似于右击出现快捷方式的功能。如果不希望出来,可以设置其CanCustimoze=false 在.net 中 DevComponents DotNetBar RibbonBar屏蔽右键 设置 CanCustimoze=false(默认为True)
      

  4.   


          public bool PreFilterMessage(ref   Message m)
            {
                const int WM_RBUTTONDBLCLK = 0x206;
                const int WM_RBUTTONDOWN = 0x204;
                const int WM_RBUTTONUP = 0x205;            switch (m.Msg)
                {
                    //过滤掉所有与右键有关的消息 
                    case WM_RBUTTONDBLCLK:
                    case WM_RBUTTONDOWN:
                    case WM_RBUTTONUP:
                        if (this.IsActivated == true)
                        {
                            m.HWnd = new IntPtr(0x202);
                            contextMenuStrip1.Show(Cursor.Position.X, Cursor.Position.Y);                        return false;
                        }
                        else
                        {
                            return false;
                        }
                    default:
                        return false;
                }
            }
     m.HWnd = new IntPtr(0x202);这句是把消息改为鼠标左键点击,这是为了能选中项contextMenuStrip1.Show(Cursor.Position.X, Cursor.Position.Y);这句是弹出一个自定义的右键菜单
      

  5.   

    PreFilterMessage 这个函数怎么来的哦
      

  6.   

    我用的不是RibbonBar。是toolbar的