C# 使用匿名函數(shù)解決EventHandler參數(shù)傳遞的難題
更新時(shí)間:2009年05月15日 00:03:42 作者:
C#動(dòng)態(tài)生成PictureBox并綁定右鍵菜單,實(shí)現(xiàn)刪除圖片
首先,動(dòng)態(tài)生成PictureBox,很簡(jiǎn)單,
PictureBox box = new PictureBox() ;
box.ImageLocation = imageRoad ;
其次,給PictureBox添加右鍵菜單,也不難,
ContextMenu menu = new ContextMenu();
box.ContextMenu = menu ;
然后,要給右鍵菜單增加“刪除”項(xiàng),并實(shí)現(xiàn)刪除圖片事件。這個(gè),比較麻煩。
MenuItem item = new MenuItem("刪除") ;
menu.MenuItems.Add( item , new EventHandler( item_Click )) ;
void item_Click(object sender, EventArgs e)
{
// 增加刪除圖片的功能
// 1、獲取圖片對(duì)象
// 2、刪除圖片
}
在item_Click方法中,由于無(wú)法獲得圖片對(duì)象的值,所以無(wú)法進(jìn)行刪除操作。除非,在item_Click方法中,能夠?qū)ictureBox對(duì)象作為參數(shù)傳遞進(jìn)來(lái)。這個(gè),沒(méi)想出來(lái)怎么實(shí)現(xiàn)。
嘗試使用匿名方法,
menu.MenuItems.Add( item, delegate(Object o,EventHandler e){ box.ImageLocation = "" ; });
由于匿名方法是在方法體內(nèi),因此,可以將box作為參數(shù)傳遞進(jìn)來(lái)。
總結(jié):使用匿名方法實(shí)現(xiàn)事件參數(shù)的傳遞,因?yàn)槟涿椒梢允褂猛獠繀?shù)。
關(guān)鍵詞:事件、委托、匿名方法
語(yǔ)言平臺(tái):C# 2.0及以上
PictureBox box = new PictureBox() ;
box.ImageLocation = imageRoad ;
其次,給PictureBox添加右鍵菜單,也不難,
ContextMenu menu = new ContextMenu();
box.ContextMenu = menu ;
然后,要給右鍵菜單增加“刪除”項(xiàng),并實(shí)現(xiàn)刪除圖片事件。這個(gè),比較麻煩。
MenuItem item = new MenuItem("刪除") ;
menu.MenuItems.Add( item , new EventHandler( item_Click )) ;
void item_Click(object sender, EventArgs e)
{
// 增加刪除圖片的功能
// 1、獲取圖片對(duì)象
// 2、刪除圖片
}
在item_Click方法中,由于無(wú)法獲得圖片對(duì)象的值,所以無(wú)法進(jìn)行刪除操作。除非,在item_Click方法中,能夠?qū)ictureBox對(duì)象作為參數(shù)傳遞進(jìn)來(lái)。這個(gè),沒(méi)想出來(lái)怎么實(shí)現(xiàn)。
嘗試使用匿名方法,
menu.MenuItems.Add( item, delegate(Object o,EventHandler e){ box.ImageLocation = "" ; });
由于匿名方法是在方法體內(nèi),因此,可以將box作為參數(shù)傳遞進(jìn)來(lái)。
總結(jié):使用匿名方法實(shí)現(xiàn)事件參數(shù)的傳遞,因?yàn)槟涿椒梢允褂猛獠繀?shù)。
關(guān)鍵詞:事件、委托、匿名方法
語(yǔ)言平臺(tái):C# 2.0及以上
相關(guān)文章
winform dateTime數(shù)據(jù)類(lèi)型轉(zhuǎn)換方法
這篇文章主要介紹了winform dateTime數(shù)據(jù)類(lèi)型轉(zhuǎn)換方法,需要的朋友可以參考下2017-02-02
C# Soap調(diào)用WebService的實(shí)例
下面小編就為大家?guī)?lái)一篇C# Soap調(diào)WebService的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
C#利用IDbCommand實(shí)現(xiàn)通用數(shù)據(jù)庫(kù)腳本執(zhí)行程序
在.net 應(yīng)用中,在數(shù)據(jù)庫(kù)中執(zhí)行腳本程序是經(jīng)常用到的功能,如數(shù)據(jù)操作(新增、修改、刪除等),執(zhí)行一個(gè)存儲(chǔ)過(guò)程等,本文將介紹如何通過(guò)利用IDbCommand 實(shí)現(xiàn)通用數(shù)據(jù)庫(kù)腳本執(zhí)行程序,感興趣的朋友可以參考下2024-04-04
C#中使用FilleStream實(shí)現(xiàn)視頻文件的復(fù)制功能
這篇文章主要介紹了C#中使用FilleStream實(shí)現(xiàn)視頻文件的復(fù)制功能,本文通過(guò)實(shí)例代碼給大家介紹的非常想詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09

