简单的图片拖拽

  在这个例子中我们将一个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#中实现拖拽功能,补全中相关推荐

  1. java swing 控件拖动_java swing中实现拖拽功能示例

    java实现拖拽示例 Swing中实现拖拽功能,代码很简单,都有注释,自己看,运行效果如下图: package com; import java.awt.*;import java.awt.datat ...

  2. 如何在vue中实现拖拽功能

    HTML5 drag & drop 拖拽与拖放 想要实现该功能,先了解一下H5中的drag和drop这2个概念.

  3. vue中实现拖拽功能

    自定义的全局指令 提示:拖拽指令 文章目录 自定义的全局指令 一.拖拽 1.自定义拖拽指令 2.页面挂载 3.css样式 提示:以下是本篇文章正文内容,下面案例可供参考 一.拖拽 1.自定义拖拽指令 ...

  4. Electron中实现拖拽文件进div中通过File对象获取文件的路径和内容

    场景 用HTML和CSS和JS构建跨平台桌面应用程序的开源库Electron的介绍以及搭建HelloWorld: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/a ...

  5. Atitit。DD dragdrop拖拽功能c#.net java swing的对比与实现总结

    Atitit.D&D drag&drop拖拽功能c#.net java swing的对比与实现总结 1. 实现一个D&D操作一般包括三个步骤: 1 2. .net黑头的拖曳机制 ...

  6. android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    Android利用RecyclerView实现全选.置顶和拖拽功能示例 发布时间:2020-08-23 16:26:42 来源:脚本之家 阅读:159 作者:爱开发 前言 今天给大家分享是如何在Rec ...

  7. android 当前置顶的控件,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    前言 今天给大家分享是如何在RecyclerView实现全选,ItemTouchHelper实现侧滑删除,拖拽功能.比较基础.关于RecyclerView的强大,就不多说了.在Android L SD ...

  8. vue项目中图标可拖拽功能实现

    vue项目中页面实现图标拖拽功能 最近在做项目需求时有个小功能:在页面的首页增加一个快速功能按钮,用来满足操作者快速实现某一目的渴望.为了体现代码搬运工的气质与水准,当时心想,这么简单的一个小东西必须 ...

  9. JS中鼠标拖拽div(2)(setCapture()方法和releaseCapture()方法)

    接着鼠标拖拽div(1)解决问题,当在拖拽事件所在的页面按下键盘的ctrl+A全选后,再去拖拽div,浏览器会默认去搜索网页中的内容,拖拽功能就会失效,(搜索网页内容是浏览器的默认行为,所以要想不发生 ...

  10. fullcalendar实现拖拽方案到日历中--js

    fullcalendar实现拖拽方案到日历中 js代码. var form; var planid; var planname; var date; var html = ""; ...

最新文章

  1. Ardino基础教程 25_8X8LED点阵
  2. webpack 打包编译优化之路
  3. [20190214]11g Query Result Cache RC Latches.txt
  4. TensorBoard:嵌入可视化
  5. Oracle之自动收集统计信息
  6. 如何在引导程序中将容器垂直对齐
  7. 如何部署Java_web项目到云服务器上
  8. SQLServer实战经验分享--ServiceBroker安全配置和使用示例
  9. python提取身份证信息_Python3 简单抓取身份证地址信息
  10. 06-Docker数据管理实践
  11. 如何做到微信机器人不封号_如何正确使用微信聊天机器人才能避免被封号?
  12. 计算机硬盘容量分配,电脑磁盘分区容量大小怎么调整
  13. core dump的诡异事件
  14. PHPAdmin删除外键约束
  15. maximo跟java_maximo遇到的错误问题
  16. 车载网络与计算机网络有什么不同,浅谈汽车车载网络的应用
  17. Nginx 配置 HTTPS 证书
  18. 中国智慧家庭市场运营模式分析及发展趋势研究报告2022-2027年版
  19. 传输层协议 —— UDP
  20. 关于DataTable查询数据的几种方式

热门文章

  1. GDAL查看DEM高程数据(java)
  2. JS获取url参数,主域名等方法
  3. MySQL 字段操作命令
  4. 20. 为包含指针的关联容器指定比较类型
  5. oracle.exe占用内存过大,【大话IT】oracle.exe耗尽物理内存
  6. wingdings字体符号在哪_出版社编辑对标点符号和专业术语的要求
  7. android mvvm点击事件,c# – MVVMCross:如何将Xamarin.Android事件绑定到ViewModel命令
  8. powerbi输入数据_与内部共享 Power BI 仪表板和报表
  9. Echarts:Vue3中使用Echarts
  10. java 关闭进程_java在进程启动和关闭.exe程序