ContextMenuStrip

(1)ContextMenuStrip控件中的属性AutoClose,将该属性设置为false,右键菜单出现后,被用户随意点击都不会关闭。该属性只对ContextMenuStrip的一级菜单有效,对后续子菜单是无效的。


(2)右键后contextMenuStrip菜单出现,用户可以一次性点击多个菜单选项,而不是点击任意选项后contextMenuStrip立马消失。一般考虑处理Closing事件而不是设置AutoClose属性。

 private void contextMenuSwitch_Closing(object sender, ToolStripDropDownClosingEventArgs e){if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked){e.Cancel = true;}}

(3)通过点击的选项文本判断是否关闭

private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{if (e.ClickedItem.Text == ((ContextMenuStrip)sender).Items[0].Text)//或者e.ClickedItem == ((ContextMenuStrip)sender).Items[0]//用户选择第一项时{}
}

(4)简单的:控件出现在鼠标所点位置contextMenuStrip.Show(Cursor.Position)

举例:点击btnMenuStrip按钮时,contextMenuStrip控件出现在按钮的左下方。

private void btnMenuBar_MouseClick(object sender, MouseEventArgs e){if (e.Button == MouseButtons.Left){//控件在屏幕上的坐标var screenPoint = PointToScreen(btnMenuBar.Location);contextMenuSwitch.Show((sender as Button), (sender as Button).PointToClient(screenPoint), ToolStripDropDownDirection.BelowLeft);}}

【学习笔记】ContextMenuStrip控件的常见用法及问题相关推荐

  1. Android开发之Compose基础学习-Divider分割线控件的基本用法

    先上图 再看代码 package com.xiayiye5.composefirst.components/** Copyright (c) 2022, smuyyh@gmail.com All Ri ...

  2. VC学习笔记 -单选按钮控件(Ridio Button)的使用

    在VC++编程过程中,查资料是一个苦差事,案边放了一摞书左翻右翻好是烦人.一赌气就把一些常用的小技巧自己总结了一下,虽费了些功夫,但对以后编程很有好处.现拿出来与大家共享,以后积累多了,作一个CHM电 ...

  3. Asp.net控件开发学习笔记(三)-控件开发基础

    封装      在asp.net中,控件被分为两类.用户控件和自定义服务器控件.前者就是我们经常用来将一些可复用的内容封装成的.ascx文件.这里主要研究后者. 创建自定义服务器控件      创建自 ...

  4. C#学习笔记:控件BackColor属性与ForeColor的使用方法

    1.解释 (1)BackColor属性 BackColor属性表示控件的背景颜色,各个颜色颜色分量的取值范围是0-255的整数. (2)ForeColor属性 ForeColor属性表示控件的前景色, ...

  5. IOS开发学习笔记018- 一般控件的使用

    1.移动 2.动画 3.缩放 3.旋转 4.简化代码 5.总结 UIButton 的两种状态 normal highlighted  1.移动 OC语法规定:不允许直接修改某个对象中结构体属性的成员. ...

  6. android菜鸟学习笔记13----Android控件(二) 自定义控件简单示例

    有时候,可能觉得系统提供的控件太丑,就会需要自定义控件来实现自己想要的效果. 以下主要参考<第一行代码> 1.自定义一个标题栏: 系统自带的标题栏很丑,且没什么大的作用,所以我们之前会在o ...

  7. linux学习笔记:yum命令的常见用法

    要知道,不同的linux系统里软件包的命令可能是不同的. yum命令是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 例如: yum install -y net-too ...

  8. PR学习笔记——效果控件的相关知识

    效果控件 1.一般调节音量 2.左右鼠标一起点击或者alt+鼠标左键 3.钢笔工具是增添关键帧的 4.alt+ctrl 换视频的位置

  9. C#学习笔记:控件的Dock属性使用,工具栏遮挡解决。

    #Dock属性说明 该属性的用途类似于JAVA中的边框布局.绑定区域类似于东西南北中. Top:顶部,将控件绑定到窗体或页面的顶部,控件跟随顶部移动,一般ToolStrip就是这样的模式 Bottom ...

最新文章

  1. oracle glogin.sql sql _user,为什么我的login.sql不执行?
  2. linux查看hdfs副本数量,文件副本数量问题,设置的dfs.replication没有生效
  3. 关键词为什么迟迟不上首页?太令人“捉急”了!
  4. webpack 插件: html-webpack-plugin
  5. SAP 电商云 Spartacus UI 的 proxy facade 是如何调用实际实现类
  6. J2EE WEBWORK FRAMEWORK安全隐患
  7. GDI+ is F**king unbelievable
  8. Altium Designer使用-----智能pdf输出装配图
  9. 基于微信小程序+Java+Vue+MySQL的菜谱分享小程序
  10. Chrome插件--》油猴的使用
  11. 【收藏】一些实用的分割线
  12. 蚂蚁借“链”上位,BAT谁将成数字经济领跑者?
  13. 深度学习中梯度消失和梯度爆炸的根本原因及其缓解方法
  14. sphinx启动searchd进程出现search error failed to open No such file or directory
  15. 【奥斯卡理财星体系 第三章】丨你适合追求什么样的收益率
  16. 遗传算法入门(连载1-10)
  17. DTU的功能以及性能
  18. 2021.10.27-28科研日志
  19. 合并 Excel 的多张工作表Sheet报错:无法在此处粘贴此内容
  20. Java笔记2.3——Java基本语法之程序流程控制

热门文章

  1. Linux内核错误(引导系统)Deepin用户手册在/etc/sysctl.conf文件中加入kernel.panic = 20,在/etc/sysctl.conf中kernel.sysrq=1内存
  2. Scrum的六个重要原则
  3. python数值积分_Python-Scipy进行数值积分
  4. 众昂矿业:探究多色萤石的多姿多彩
  5. JavaScript变量定义(笔记)
  6. 软件方法(下)分析和设计第8章分析 之 分析类图——知识篇Part01(202204更新)
  7. python 抢课脚本_CC~NU抢课脚本
  8. 初中作文计算机想象作文,想象作文600字初中 [想象作文]
  9. spring-web-4.2.0.RELEASE.jar报错问题
  10. buuctf ez bypass