zoukankan      html  css  js  c++  java
  • 入门鼠标右键事件(快捷菜单)

    C#鼠标右键菜单(快捷菜单)

    标签(空格分隔): C#


    请到这里浏览:https://www.zybuluo.com/kuier1992/note/164140
    再也不用博客园发MarkDown了。太乱了

    以前没怎么用过鼠标右键弹出菜单这个功能,今天使用到了,稍微总结一下。
    快捷菜单(也称为上下文菜单)在用户单击鼠标右键时会出现在鼠标位置。 快捷菜单在鼠标指针位置提供了工作区或控件的选项。

    ContextMenuStrip和ContextMenu的不同,其实就是一个新一个旧。
    ContextMenuStrip 控件替换 ContextMenu 控件并向其添加功能;但是也可选择保留 ContextMenu 控件以备向后兼容和将来使用。

    ContextMenuStrip 重要的类

    说明
    ToolStripMenuItem 表示 MenuStrip 或 ContextMenuStrip 上显示的可选选项。
    ToolStripDropDown 表示使用户能从列表中选择单个项的控件,该列表在用户单击 ToolStripDropDownButton 或更高级菜单项时显示。
    ToolStripDropDownItem 为派生自 ToolStripItem 的控件提供基本功能,当单击控件时显示下拉项.

    在这里主要使用到ToolStripMenuItem

    直接看代码:

    //构造了一个ContextMenuStrip对象
    ContextMenuStrip contextMenuStrip = new ContextMenuStrip();
    contextMenuStrip.Items.Add("xxx", null, ContextMenuStripEditArgs);
    contextMenuStrip.Items.Add("xxx");
    
    //将控件的ContextMenuStrip属性指向刚刚构造的ContextMenuStrip对象就可以使用了。
    MainMap.ContextMenuStrip = contextMenuStrip;
    
    //点击第一个鼠标右键item执行的代码
    private void ContextMenuStripEditArgs(Object sender, EventArgs e)
            {
                MessageBox.Show("haha");
            }
    

    ContextMenuStripEditArgs是符合System.EventHandler委托类型的实例,这里使用了简化语法,不需要构造委托对象,传入符合委托对象的实例方法即可。EventHandler语法为:

    [SerializableAttribute]
    [ComVisibleAttribute(true)]
    public delegate void EventHandler(
    Object sender,
    EventArgs e
    )

    
    `Items.Add`方法有好几个重载,可以构造含图片的快捷菜单;还有一个`AddRange`方法可以向`ContextMenuStrip `添加若干菜单项
    
    暂时简单的使用一下快捷菜单,就是这样。
  • 相关阅读:
    string数组批量转换成Int数组
    TCP/IP 、 HTTP 、HTTPS
    静态布局、自适应布局、流式布局、响应式布局、弹性布局等的概念和区别
    Vue源码学习02 初始化模块init.js
    IOS8白屏
    VUE 源码学习01 源码入口
    http状态码
    vue全家桶(Vue+Vue-router+Vuex+axios)(Vue+webpack项目实战系列之二)
    Vue实战Vue-cli项目构建(Vue+webpack系列之一)
    module.exports,exports,export和export default,import与require区别与联系【原创】
  • 原文地址:https://www.cnblogs.com/kui0621/p/4773661.html
Copyright © 2011-2022 走看看