转:C#判断ContextMenuStrip右键菜单的来源(从哪个控件弹出来的)
轉載自: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右键菜单的来源(从哪个控件弹出来的)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python time timeit_p
- 下一篇: 304状态码