zoukankan      html  css  js  c++  java
  • C# winform 屏蔽鼠标右键 spreadsheet Gear 屏蔽鼠标右键菜单

    今天用到spreadsheetGear 插件,然后右键有插件自己的菜单。都是英文的,而且还能打开新的窗体。嵌到程序里面,不太合适,所以着手屏蔽。

    刚开始用的Mouse_up,虽然能捕获事件,但是没有KeyPress事件的Handled属性。

    百度之,发现相对简单的方法。

    1.先让窗体类继承IMessageFilter接口
    2.在构造函数中添加:Application.AddMessageFilter(this);
    3.在代码中加入:

    public bool PreFilterMessage(ref System.Windows.Forms.Message MyMessage)
    {
        //不响应鼠标右键消息
        if(MyMessage.Msg>=516 && MyMessage.Msg<=517)
        {
            return true;
        }
        return false;
    }

    4. 你可以将Application.AddMessageFilter()放到任何你想起作用的地方,也随时可以Application.RemoveMessageFilter(this)

    按步骤即可成功屏蔽。

     屏蔽之后还有个问题,就是双击之后,系统自带的内容区的右键也被屏蔽了。无奈。。。

    想了个土办法,拖一个右键菜单控件,然后与控件的右键菜单属性进行绑定后,成功屏蔽。我太tm机智了。

  • 相关阅读:
    洛谷 P1231 教辅的组成
    BZOJ 2190: [SDOI2008]仪仗队
    Codeforces GYM 100741A . Queries
    COGS 1298. 通讯问题
    洛谷 P2604 [ZJOI2010]网络扩容
    codevs 1227 方格取数 2
    codevs 1004 四子连棋
    洛谷 P2319 [HNOI2006]超级英雄
    洛谷 P2153 [SDOI2009]晨跑
    插入排序
  • 原文地址:https://www.cnblogs.com/xcong/p/3372640.html
Copyright © 2011-2022 走看看