转载自:http://hi.baidu.com/cookiemulan/item/82df8ff867dd53cc531c26c7

有时候,为了提高性能和节约资源,我们会为多个控件,指定同一个右键弹出菜单,这时,通常会产生一个需求: 判断当前的弹出菜单是从哪个控件上弹出来,也就是“是由哪个控件的右键点击触发的”,以便于做进一步的控制。

在.NET当中,实现起来是非常简单的,假设弹出菜单为 ContextMenuStrip1,则只需要在 该菜单的 Opening 事件进行判断处理即可。

private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)

{

//取得来源控件的Name

MessageBox.Show((sender as ContextMenuStrip).SourceControl.Name);

}

我的程序要在图片框上弹出右键菜单,获得当前图片框中的图像,我是这样做的:

private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)

{

PictureBox ctlPicBox = (PictureBox)(sender as ContextMenuStrip).SourceControl;

Bitmap imgScr1 = new Bitmap(ctlPicBox.Image);

}

要注意的是,必须在ContextMenuStrip的Opening事件中添加代码,不能添加在Click事件中。如果需要在Click中处理,就只能设置公共的全局变量喽~~

转载于:https://www.cnblogs.com/lusunqing/p/3196329.html

转:C#判断ContextMenuStrip右键菜单的来源(从哪个控件弹出来的)相关推荐

  1. WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法

    WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 原文:WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 问题描 ...

  2. c#判断右键菜单(ContextMenuStrip)是从哪个控件弹出来的方法

    在前面有一篇文章中,逍遥一生已经介绍了如何在c#窗体程序中给控件添加右键菜单以及给不同的子菜单添加不同的事件: c#窗体(winform)程序给控件添加右键菜单及给不同子菜单添加不同事件的方法 在这篇 ...

  3. C#遍历ContextMenuStrip右键菜单中包含子菜单的所有菜单并添加事件

    今天写程序的时候,用到了右键菜单控件ContextMenuStrip,真的很方便,写了几个菜单与子菜单项,本来是可以用双击来给每一个菜单添加事件的,不过,这样做似乎非常麻烦,而且对一些子菜单也不容易控 ...

  4. MenuStrip(主菜单)、ContextMenuStrip(右键菜单)的即时状态的获取方法

    1.如何正确的显示MenuStrip某一菜单下面的复制.剪切.粘贴菜单项的即时状态: private void mi_Edit_DropDownOpened(object sender, EventA ...

  5. Winform中怎样设置ContextMenuStrip右键菜单的选项ToolStripMenuItem添加照片

    场景 怎样在Winform程序中添加鼠标右键时使子选项显示图片. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编 ...

  6. C# 系统应用之ListView控件 (三).添加ContextMenuStrip右键菜单打开删除文件

    在前面讲述过使用TreeView控件和ListView控件显示磁盘目录信息,但仅仅是显示信息是不够的,我们还需要具体的操作.在"个人电脑使用历史痕迹"项目中我还需要添加" ...

  7. ContextMenuStrip右键菜单 获取关联控件、判断点击

    前言 首先ContextMenuStrip和ContextMenu的区别是版本不同,Vs05中ContextMenuStrip替代了ContextMenu的,并且更强大,但是依然保留了ContextM ...

  8. elementui树状菜单tree_Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)...

    这篇博客主要介绍树形控件的两个小小的功能: 下拉菜单 输入过滤框 以CSS样式为主,也会涉及到Vue组件和element组件的使用. 对于没有层级的数据,我们可以使用表格或卡片来展示.要展示或建立层级 ...

  9. android侧滑菜单ui,Android:UI控件DrawerLayout、Fragment、SlidingLayout侧滑菜单

    DrawerLayout与Fragment的联用 1.xml代码 xmlns:android="http://schemas.android.com/apk/res/android" ...

最新文章

  1. 总结 | 2020年TOP 10计算机视觉论文:代码,解读,还有demo视频!
  2. 手机群发短信脚本python
  3. openssl 创建私有CA
  4. KVM中virtio、vhost 和vhost-user比较(十一)
  5. .Net微信开发之通过UnionID机制,解决用户在不同公众号,或在公众号、移动应用之间帐号统一问题...
  6. WebStorm添加多个项目到当前工程目录
  7. 3d查看器无法加载三维模型_珠峰登顶成功,送套三维模型给你
  8. 程序员面试题精选100题(35)-两链表的第一个公共结点[数据结构]
  9. cv2 orb 图像拼接_OpenCV 实现多张图像拼接
  10. Increasing Subsequence (easy version)
  11. Eclipse SQLExplorer插件的安装和使用
  12. Requests方法 -- Token获取操作
  13. Jack Dorsey二度卸任推特CEO,原CTO接棒,立即生效!
  14. redis查看key的过期时间_面试官:Redis过期后key是怎么样清理的?
  15. Qt-连续容器及迭代器
  16. python的评分卡模型
  17. 人物-李彦宏:李彦宏
  18. bxp帮助文档(转)
  19. 【MIKE21】批处理依次打开模型文件运行模型
  20. 1079:计算分数加减表达式的值

热门文章

  1. WinAPI: GetSystemPowerStatus - 获取系统电源状态的信息
  2. Selwyn College, Cambridge
  3. partial equation lecture first order pde lecture 1
  4. 计算机专业到投行的工作需要的金融财务知识
  5. 当一个事情过度的艳丽的时候就是一个衰败的开始
  6. rhel5.5配置yum
  7. mfc工程中添加com接口支持
  8. 学习笔记之与 30 家公司过招,得到了这章面试心法
  9. codevs——2853 方格游戏(棋盘DP)
  10. Python 学习记录1