首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C#中PictureBox没有AllowDrop属性怎么办

C#中PictureBox没有AllowDrop属性怎么办

作者头像
云未归来
发布2025-07-18 12:42:02
发布2025-07-18 12:42:02
1010
举报

有时候我们需要拖拽图片到图片控件直接显示,发现PictureBox没有显示AllowDrop属性,而且使用picturebox1也点不出来。其实这个控件是有这个属性的,直接写出来而不能点出来。看下面经典对话

private void pictureBox1_DragOver(object sender, DragEventArgs e) { if ((e.AllowedEffect & DragDropEffects.Link) == DragDropEffects.Link) { e.Effect = DragDropEffects.Link; } } private void pictureBox1_DragDrop(object sender, DragEventArgs e) { string[] items = (object)e.Data.GetData("FileNameW") as string[]; if (items.Length == 1) { System.Drawing.Image img = System.Drawing.Image.FromFile(items[0]); this.pictureBox1.Image = img; } } 在窗体构造函数或者是Load事件里写下面三行 this.pictureBox1.DragOver+=new DragEventHandler(pictureBox1_DragOver); this.pictureBox1.DragDrop+=new DragEventHandler(pictureBox1_DragDrop); this.pictureBox1.AllowDrop = true; 代码已经经过测试,没有问题 PictureBox的AllowDrop属性确实感知不出来,但是PictureBox类中含有对这个属性的定义,你可以Go To Definition看一下 你这样写是不会出问题的,因为这个属性在定义的地方加了两个Attribute: // Summary: // Overrides the System.Windows.Forms.Control.AllowDrop property. [EditorBrowsable(1)] [Browsable(false)] public override bool AllowDrop { get; set; } 它们规定这个属性是否可见,详情可以查询MSDN 还要谢谢楼主啊,我是好久之前遇到这个情况了,当时没查出来,今天你这么一提查出来了,长了点知识,多谢多谢!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档