当前位置:  编程技术>.net/c#/asp.net

c#.net 匿名函数进行EventHandler参数传递的问题

    来源: 互联网  发布时间:2014-08-30

    本文导语:  C# 匿名函数进行EventHandler参数传递的问题,有遇到此类问题的朋友,可以参考下。 实现:C#动态生成PictureBox并绑定右键菜单,删除图片。 1、动态生成PictureBox   代码示例: PictureBox box = new PictureBox() ; box.ImageLocation = imageRoad ; 2...

C# 匿名函数进行EventHandler参数传递的问题,有遇到此类问题的朋友,可以参考下。
实现:C#动态生成PictureBox并绑定右键菜单,删除图片。

1、动态生成PictureBox
 

代码示例:
PictureBox box = new PictureBox() ;
box.ImageLocation = imageRoad ;

2、给PictureBox添加右键菜单
 

代码示例:
ContextMenu menu = new ContextMenu();
box.ContextMenu = menu ;

3、给右键菜单增加“删除”项,并实现删除图片事件。
 

代码示例:
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#.net中的事件、委托、匿名方法,要求C# 2.0及以上语言环境。

希望以上内容,可以帮助到大家,脚本学堂,专心为您每一天。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 解决asp.net ajax格式传递数据乱码的问题
  • asp.net url传递中文的解决方法
  • ASP.NET传递中文参数的一些问题的解决方法
  • ASP.NET url传递中文乱码的解决方法
  • ASP.NET MVC后台向前台传递多个对象、表的方法
  • asp.net页面间数据传递方法详解
  • asp.net不同页面间数据传递的多种方法
  • asp.net页面间传递大量数据的方法
  • asp.net MVC进阶学习---View和Controller之间的数据传递(一)
  • java命名空间javax.net类socketfactory的类成员方法: createsocket定义及介绍
  • .NET版的ExtJS库 Ext.Net
  • java命名空间java.net类datagramsocket的类成员方法: disconnect定义及介绍
  • node.js的.net扩展 node.net
  • java命名空间java.net类datagramsocket的类成员方法: close定义及介绍
  • 为什么输http://www.china-java.net,会自动改为http://www.china-java.net:8081?
  • java命名空间java.net接口cookiestore的类成员方法: get定义及介绍
  • 各位之不知道net-snmp是否收费?我的产品中用到了net-snmp lib是否需要向什么单位或者组织付费?
  • java命名空间java.net类socket的类成员方法: isbound定义及介绍
  • 【人才】有没有人会用VC6.0/VS2003.NET/VS2005.NET写WINDOWS下的驱动程序呀。
  • java命名空间java.net类datagrampacket的类成员方法: getsocketaddress定义及介绍
  • Java.NET or J#.NET is coming!
  • java命名空间java.net类multicastsocket的类成员方法: getinterface定义及介绍
  • make menuconfig时出错:net/Kconfig:221:can't open file "net/wireless/Kconfig"
  • java命名空间java.net枚举proxy.type的类成员方法: http定义及介绍
  • 用过net-snmp(ucd-snmp)的大侠用过net-snmp(ucd-snmp)请进(来者有分)
  • java命名空间java.net类urisyntaxexception的类成员方法: getreason定义及介绍
  • 常用.NET工具(包括.NET可再发行包2.0)下载
  • java命名空间java.net类datagramsocketimpl的类成员方法: getlocalport定义及介绍
  • Ja.Net
  • java命名空间java.net类httpretryexception的类成员方法: getreason定义及介绍
  • asp.net判断数据库表是否存在 asp.net修改表名的方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3