C#判断ContextMenuStrip右键菜单的来源(从哪个控件弹出来的)
在.NET当中,实现起来是非常简单的,假设弹出菜单为 ContextMenuStrip1,则只需要在 该菜单的 Opening 事件进行判断处理即可。
*******
void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
//
取得来源控件的Name
MessageBox.Show((sender as ContextMenuStrip).SourceControl.Name);
}
我的程序要在图片框上弹出右键菜单,获得当前图片框中的图像,我是这样做的:
*******
void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
PictureBox ctlPicBox = (PictureBox)(sender as ContextMenuStrip).SourceControl;
Bitmap imgScr1 = new Bitmap(ctlPicBox.Image);
}
要注意的是,必须在ContextMenuStrip的Opening事件中添加代码,不能添加在Click事件中。
如果需要在Click中处理,就只能设置公共的全局变量喽~~