C#中实现拖拽功能,补全中
简单的图片拖拽
在这个例子中我们将一个PictureBox中的图片拖拽到另一个PictureBox中
在WinForm窗体中有两个PictureBox;分别为pictureBox1和pictureBox2
首先我们要把你想接受拖放功能的控件的AllowDrop功能打开,因为PictureBox默认的AllowDrop属性是隐藏,所以我们要用它的上一级来打开AllowDrop属性
public Form1(){InitializeComponent();Control c = pictureBox2;c.AllowDrop = true;}
在拖拽功能中我们主要使用的事件就是MouseDown、DragEnter和DragDrop
接下来我们要设置pictureBox1的MouseDown事件,当鼠标按下时发生
private void pictureBox1_MouseDown(object sender, MouseEventArgs e){this.pictureBox1.DoDragDrop(pictureBox1.Image, DragDropEffects.Copy);}
DoDragDrop是开始执行拖放操作
设置pictureBox2的DragEnter事件,当鼠标拖拽并进入到pictureBox的工作区时发生
private void pictureBox2_DragEnter(object sender, DragEventArgs e){if (e.Data.GetDataPresent(DataFormats.Bitmap)){e.Effect = DragDropEffects.Copy;}else e.Effect = DragDropEffects.None;}
e.Data.GetDataPresent(string format)是用来验证数据是否与指定格式关联,或是否可以转换为指定格式
Effect属性是拖放操作中目标的放置效果
设置pictureBox2的DragDrop事件,完成拖拽时发生
private void pictureBox2_DragDrop(object sender, DragEventArgs e){ this.pictureBox2.Image=e.Data.GetData(DataFormats.Bitmap) as Image;}
e.Data.GetData(string format)方法我们用来获取与指定格式关联的数据,参数是指定的格式
这样我们就把pictureBox1拖到了pictureBox2中
转载于:https://www.cnblogs.com/kire/archive/2013/05/08/3066268.html
C#中实现拖拽功能,补全中相关推荐
- java swing 控件拖动_java swing中实现拖拽功能示例
java实现拖拽示例 Swing中实现拖拽功能,代码很简单,都有注释,自己看,运行效果如下图: package com; import java.awt.*;import java.awt.datat ...
- 如何在vue中实现拖拽功能
HTML5 drag & drop 拖拽与拖放 想要实现该功能,先了解一下H5中的drag和drop这2个概念.
- vue中实现拖拽功能
自定义的全局指令 提示:拖拽指令 文章目录 自定义的全局指令 一.拖拽 1.自定义拖拽指令 2.页面挂载 3.css样式 提示:以下是本篇文章正文内容,下面案例可供参考 一.拖拽 1.自定义拖拽指令 ...
- Electron中实现拖拽文件进div中通过File对象获取文件的路径和内容
场景 用HTML和CSS和JS构建跨平台桌面应用程序的开源库Electron的介绍以及搭建HelloWorld: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/a ...
- Atitit。DD dragdrop拖拽功能c#.net java swing的对比与实现总结
Atitit.D&D drag&drop拖拽功能c#.net java swing的对比与实现总结 1. 实现一个D&D操作一般包括三个步骤: 1 2. .net黑头的拖曳机制 ...
- android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例
Android利用RecyclerView实现全选.置顶和拖拽功能示例 发布时间:2020-08-23 16:26:42 来源:脚本之家 阅读:159 作者:爱开发 前言 今天给大家分享是如何在Rec ...
- android 当前置顶的控件,Android利用RecyclerView实现全选、置顶和拖拽功能示例
前言 今天给大家分享是如何在RecyclerView实现全选,ItemTouchHelper实现侧滑删除,拖拽功能.比较基础.关于RecyclerView的强大,就不多说了.在Android L SD ...
- vue项目中图标可拖拽功能实现
vue项目中页面实现图标拖拽功能 最近在做项目需求时有个小功能:在页面的首页增加一个快速功能按钮,用来满足操作者快速实现某一目的渴望.为了体现代码搬运工的气质与水准,当时心想,这么简单的一个小东西必须 ...
- JS中鼠标拖拽div(2)(setCapture()方法和releaseCapture()方法)
接着鼠标拖拽div(1)解决问题,当在拖拽事件所在的页面按下键盘的ctrl+A全选后,再去拖拽div,浏览器会默认去搜索网页中的内容,拖拽功能就会失效,(搜索网页内容是浏览器的默认行为,所以要想不发生 ...
- fullcalendar实现拖拽方案到日历中--js
fullcalendar实现拖拽方案到日历中 js代码. var form; var planid; var planname; var date; var html = ""; ...
最新文章
- Ardino基础教程 25_8X8LED点阵
- webpack 打包编译优化之路
- [20190214]11g Query Result Cache RC Latches.txt
- TensorBoard:嵌入可视化
- Oracle之自动收集统计信息
- 如何在引导程序中将容器垂直对齐
- 如何部署Java_web项目到云服务器上
- SQLServer实战经验分享--ServiceBroker安全配置和使用示例
- python提取身份证信息_Python3 简单抓取身份证地址信息
- 06-Docker数据管理实践
- 如何做到微信机器人不封号_如何正确使用微信聊天机器人才能避免被封号?
- 计算机硬盘容量分配,电脑磁盘分区容量大小怎么调整
- core dump的诡异事件
- PHPAdmin删除外键约束
- maximo跟java_maximo遇到的错误问题
- 车载网络与计算机网络有什么不同,浅谈汽车车载网络的应用
- Nginx 配置 HTTPS 证书
- 中国智慧家庭市场运营模式分析及发展趋势研究报告2022-2027年版
- 传输层协议 —— UDP
- 关于DataTable查询数据的几种方式
热门文章
- GDAL查看DEM高程数据(java)
- JS获取url参数,主域名等方法
- MySQL 字段操作命令
- 20. 为包含指针的关联容器指定比较类型
- oracle.exe占用内存过大,【大话IT】oracle.exe耗尽物理内存
- wingdings字体符号在哪_出版社编辑对标点符号和专业术语的要求
- android mvvm点击事件,c# – MVVMCross:如何将Xamarin.Android事件绑定到ViewModel命令
- powerbi输入数据_与内部共享 Power BI 仪表板和报表
- Echarts:Vue3中使用Echarts
- java 关闭进程_java在进程启动和关闭.exe程序