C# 使用匿名函数解决EventHandler参数传递的难题

hahaha_zhang

hahaha_zhang

2016-02-19 09:02

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享C# 使用匿名函数解决EventHandler参数传递的难题的教程,热爱PS的朋友们快点看过来吧!
首先,动态生成PictureBox,很简单,
PictureBox box = new PictureBox() ;
box.ImageLocation = imageRoad ;
其次,给PictureBox添加右键菜单,也不难,
ContextMenu menu = new ContextMenu();
box.ContextMenu = menu ;
然后,要给右键菜单增加“删除”项,并实现删除图片事件。这个,比较麻烦。
MenuItem item = new MenuItem("删除") ;
menu.MenuItems.Add( item , new EventHandler( item_Click )) ;
void item_Click(object sender, EventArgs e)
{
// 增加删除图片的功能
// 1、获取图片对象
// 2、删除图片
}
在item_Click方法中,由于无法获得图片对象的值,所以无法进行删除操作。除非,在item_Click方法中,能够将PictureBox对象作为参数传递进来。这个,没想出来怎么实现。
尝试使用匿名方法,
menu.MenuItems.Add( item, delegate(Object o,EventHandler e){ box.ImageLocation = "" ; });
由于匿名方法是在方法体内,因此,可以将box作为参数传递进来。
总结:使用匿名方法实现事件参数的传递,因为匿名方法可以使用外部参数。
关键词:事件、委托、匿名方法
语言平台:C# 2.0及以上
展开更多 50%)
分享

猜你喜欢

C# 使用匿名函数解决EventHandler参数传递的难题

编程语言 网络编程
C# 使用匿名函数解决EventHandler参数传递的难题

Visual C#多线程参数传递浅析

编程语言 网络编程
Visual C#多线程参数传递浅析

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

C/C++中多维数组的指针作为函数参数传递!

编程语言 网络编程
C/C++中多维数组的指针作为函数参数传递!

浅谈C++函数的参数

编程语言 网络编程
浅谈C++函数的参数

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

详解Javascript匿名函数的使用

Web开发
详解Javascript匿名函数的使用

Visual C# 2.0匿名方法揭密

编程语言 网络编程
Visual C# 2.0匿名方法揭密

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

insert into tbl() select * from tb2中加入多个条件

insert into tbl() select * from tb2中加入多个条件

Win10映射网络驱动器的方法

Win10映射网络驱动器的方法
下拉加载更多内容 ↓