时间:2021-05-19
首先,动态生成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及以上
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
JavaScript函数可以使用任意数量的参数。与其他语言(如C#和Java)不同,你可以在调用JavaScript函数时传递任意数量的参数。JavaScrip
将C语言封装成函数dll供C#端调用,需要传递的byte数组作为函数参数来传递。1、打开VisualStudio2017创建一个C的dll工程;取名为Dll12
将C语言封装成函数dll供C#端调用,需要传递的byte数组作为函数参数来传递。1、打开VisualStudio2017创建一个C的dll工程;取名为Dll12
值与引用参数之间的区别:在C#中,既可以通过值也可以通过引用传递参数。在调用环境中通过引用传递参数允许函数成员(方法、属性、索引器、运算符和构造函数)更改参数的
本文实例讲述了C#分析URL参数获取参数和值对应列表的方法。分享给大家供大家参考。具体分析如下:这个C#函数用于分析url中传递的所有参数,输出一个参数名和参数