Winform中Picture控件图片的拖拽显示
注解:最近做了一个小工具,在Winform中对Picture控件有一个需求,可以通过鼠标从外部拖拽图片到控件的上,释放鼠标,显示图片!
- 首先你需要对你的整个Fom窗口的AllowDrop设置Ture
//函数从动态链接库中倒入(模拟鼠标事件)
[System.Runtime.InteropServices.DllImport("user32")]
private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
const int MOUSEEVENTF_LEFTDOWN = 0x0002; //模拟鼠标左键按下 const int MOUSEEVENTF_LEFTUP = 0x0004; //模拟鼠标左键抬起
//设置静态字段传递图片路径参数
public static string path_url;
//获取鼠标拖入图片的绝对路径
private void Form1_DragDrop(object sender, DragEventArgs e)
{
//获取当前推拽图片的路径
string path1 = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue().ToString(); ;
path_url = path1;
//模拟鼠标释放鼠标左键的时事件
mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_LEFTUP, Cursor.Position.X, Cursor.Position.Y, , );
}
//判断鼠标拖入文件的类型判断是不是文件类型
private void Form1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
//需求有一需要从QQ的聊天记录中拖拽图片到WinForm窗体中,用ALL会出现QQ的聊天信息中的图片丢失
//Link和Move不能从QQ的聊天记录中拖拽图片到WinForm窗体中,Copy和Scroll都可以实现,推荐使用Copy
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}
4.在来设置PictureBox的事件
//当鼠标在当前控释放的时候触发控件
private void pic_1_MouseUp(object sender, MouseEventArgs e)
{
//给PictureBox设置图片路径
pic_1.ImageLocation = path_url;
}
5.以上就可以完成推拽图片显示图片(无论是本地还是QQ消息框中的图片都可以实现)
文章作者:喜欢吃鱼的青年首发论坛:博客园文章出处:https://www.cnblogs.com/2828sea/欢迎大家一起讨论分享,喜欢请点右下角的推荐鼓励一下,我会有更多的动力来写出好文章!欢迎持续关注我的博客!欢迎转载,转载的时候请注明作者和原文链接。
Winform中Picture控件图片的拖拽显示的更多相关文章
- Winform中checklistbox控件的常用方法
Winform中checklistbox控件的常用方法最近用到checklistbox控件,在使用其过程中,收集了其相关的代码段1.添加项checkedListBox1.Items.Add(" ...
- [C#]WinForm 中 comboBox控件之数据绑定
[C#]WinForm 中 comboBox控件之数据绑定 一.IList 现在我们直接创建一个List集合,然后绑定 IList<string> list = new List<s ...
- Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼
Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼标签: winform treeview drawnode Treeview控 ...
- WPF 在image控件用鼠标拖拽出矩形
原文:WPF 在image控件用鼠标拖拽出矩形 版权声明:博客已迁移到 http://lindexi.gitee.io 欢迎访问.如果当前博客图片看不到,请到 http://lindexi.gitee ...
- 2018-11-19-WPF-在image控件用鼠标拖拽出矩形
title author date CreateTime categories WPF 在image控件用鼠标拖拽出矩形 lindexi 2018-11-19 15:35:13 +0800 2018- ...
- jqGrid选择列控件向右拖拽超出边界处理
jqGrid选择列控件向右拖拽超出边界处理 $("#tb_DeviceInfo").jqGrid('navButtonAdd', '#jqGridPager', { ...
- 让一个view 或者控件不支持拖拽
让一个view 或者控件不支持拖拽: dragView.userInteractionEnabled = NO;
- MFC中Picture控件显示图像
图片显示在picture控件中,整个软件最小化后图片消失问题. 解决方案:OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面 - CSDN博客 http:// ...
- C# WinForm中 让控件全屏显示的实现代码
夏荣全 ( lyout(at)163.com )原文 C#中让控件全屏显示的实现代码(WinForm) 有时候需要让窗口中某一块的内容全屏显示,比如视频播放.地图等等.经过摸索,暂时发现两种可行方法, ...
随机推荐
- 关于SASS
SASS:(是一款辅助编写css的工具 安装之后可以通过同时按window键+“R”键 输入“powershell”进入CMD命令页面: 输入“sass -v”可以查看当前的sass版本 输入“cd ...
- 软工作业PSP与单元测试训练
任务说明(二选一): 一.实现模块判断传入的身份证号码的正确性: 二.实现模块判断传入的电子邮箱账号的正确性: 选择任务二: 实现要求: 一.实现功能模块: 1. 判断邮箱地址是否为空: 2. 判断邮 ...
- XE 使用记录
project的选项是分编译版本的,debug,release,上层还有一个base 通用的设置值,最好放base里,比如Search path里 自己添加的路径,免得2个环境分别添加.
- SQL循环表里的数据
select * into #t1 from Userinfodeclare @id varchar(2000);while (exists(select ProjectID from #t1))be ...
- weblogic中部署项目通常有三种方式
在weblogic中部署项目通常有三种方式:第一,在控制台中安装部署:第二,将部署包放在domain域中autodeploy目录下部署:第三,使用域中配置文件config.xml 进行项目的部署. 控 ...
- Docker数据卷持久化
Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts和tmpfs. volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/ ...
- [工控安全]“祝融”—一种针对PLC控制系统的欺骗攻击病毒
“祝融”作为一种针对传统PLC控制系统的欺骗攻击病毒,所述的典型的PLC控制系统通常包括两部分: 用于组态.编程.监视.控制的工程师站(通常是PC设备) PLC控制器(通常如西门子.施耐德.三菱等厂家 ...
- 释放jQuery 的$ 的使用权
1.释放操作必须在编写其他jquery 代码之前编写,释放之后就不能使用$,改为jQuery . jQuery.noConflict(); 2.也可以自定义访问符号 var nb = jQue ...
- HTTP请求协议
请求(Request)协议 * GET请求方式 * 请求行 * http协议的版本信息 1.1 * 请求地址 - URL?key=value&key=value * 请求方式 - GET * ...
- 安装linux虚拟机配置静态ip(NAT模式)
1.centOs7.VMware Workstation14 2.常规配置硬件和基本信息后,在图形安装界面将以太网链接打开,安装后配置ifcfg-e****,这里是我的配置文件 修改BOOTPROTO ...