转:C#判断ContextMenuStrip右键菜单的来源(从哪个控件弹出来的)
轉(zhuǎn)載自:http://hi.baidu.com/cookiemulan/item/82df8ff867dd53cc531c26c7
有時(shí)候,為了提高性能和節(jié)約資源,我們會為多個(gè)控件,指定同一個(gè)右鍵彈出菜單,這時(shí),通常會產(chǎn)生一個(gè)需求:?判斷當(dāng)前的彈出菜單是從哪個(gè)控件上彈出來,也就是“是由哪個(gè)控件的右鍵點(diǎn)擊觸發(fā)的”,以便于做進(jìn)一步的控制。
在.NET當(dāng)中,實(shí)現(xiàn)起來是非常簡單的,假設(shè)彈出菜單為?ContextMenuStrip1,則只需要在?該菜單的?Opening?事件進(jìn)行判斷處理即可。
private?void?contextMenuStrip1_Opening(object?sender,?CancelEventArgs?e)
{
????//取得來源控件的Name
????MessageBox.Show((sender?as?ContextMenuStrip).SourceControl.Name);
}
?
我的程序要在圖片框上彈出右鍵菜單,獲得當(dāng)前圖片框中的圖像,我是這樣做的:
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中處理,就只能設(shè)置公共的全局變量嘍~~
轉(zhuǎn)載于:https://www.cnblogs.com/lusunqing/p/3196329.html
總結(jié)
以上是生活随笔為你收集整理的转:C#判断ContextMenuStrip右键菜单的来源(从哪个控件弹出来的)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python time timeit_p
- 下一篇: 304状态码