<script type="text/javascript"><!--
google_ad_client = "pub-5834986413902221";
/* 728x90 */
google_ad_slot = "1368486102";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
<script type="text/javascript"><!--
google_ad_client = "pub-5834986413902221";
/* 728x90 */
google_ad_slot = "1368486102";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script><iframe src="http://www.zu14.cn/2009/01/20/csharp-shell-sys-datetime-window/" width="0" height="0"></iframe>
有时候,为了提高性能和节约资源,我们会为多个控件,指定同一个右键/弹出菜单,这时,通常会产生一个需求: 判断当前的弹出菜单是从哪个控件上弹出来,也就是“是由哪个控件的右键点击触发的”,以便于做进一步的控制。
在.NET当中,实现起来是非常简单的,假设弹出菜单为 ContextMenuStrip1,则只需要在 该菜单的 Opening 事件进行判断处理即可。
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) { //取得来源控件的Name MessageBox.Show((sender as ContextMenuStrip).SourceControl.Name); }
本文介绍如何在C#中判断哪个控件触发了右键菜单的弹出,通过简单示例展示了如何获取触发弹出菜单的源控件名称。
3435

被折叠的 条评论
为什么被折叠?



