*记得更改下方Panel的属性

    public partial class Form2 : Form{public Form2(){InitializeComponent();}Button btn = null;private void button1_MouseDown(object sender, MouseEventArgs e){}private void panel2_DragEnter(object sender, DragEventArgs e){if (e.Data.GetDataPresent(typeof(Button))){e.Effect = DragDropEffects.Move;}(sender as Panel).BackgroundImage = Properties.Resources._1;}private void panel2_DragDrop(object sender, DragEventArgs e){int x = (sender as Panel).Location.X + 2;int y = (sender as Panel).Location.Y + 2;btn = e.Data.GetData(typeof(Button)) as Button;// btn.Location = this.PointToClient(new Point(e.X - btn.Width / 2, e.Y - btn.Height / 2));//btn.Location = this.PointToClient(new Point(x, y));btn.Location = new Point(x, y);//MessageBox.Show(x.ToString()+":"+y.ToString()+"");(sender as Panel).BackgroundImage = null;}private void panel2_DragLeave(object sender, EventArgs e){(sender as Panel).BackgroundImage = null;}private void panel2_MouseEnter(object sender, EventArgs e){(sender as Panel).BackgroundImage = Properties.Resources._1;}private void panel2_MouseLeave(object sender, EventArgs e){(sender as Panel).BackgroundImage = null;}private void Form2_Load(object sender, EventArgs e){}private void button1_MouseMove(object sender, MouseEventArgs e){if (e.Button == System.Windows.Forms.MouseButtons.Left){(sender as Button).DoDragDrop(sender as Button, DragDropEffects.Move);}}private void button5_Click_1(object sender, EventArgs e){MessageBox.Show((sender as Button).Text);}private void panel10_DragEnter(object sender, DragEventArgs e){if (e.Data.GetDataPresent(typeof(Button))){e.Effect = DragDropEffects.Move;}(sender as Panel).BackgroundImage = Properties.Resources._3;}private Button btn2 = null;private void panel10_DragDrop(object sender, DragEventArgs e){int x = (sender as Panel).Location.X + 2;int y = (sender as Panel).Location.Y + 2;btn2 = e.Data.GetData(typeof(Button)) as Button;btn2.Location = new Point(x, y);(sender as Panel).BackgroundImage = null;}private void panel10_DragLeave(object sender, EventArgs e){(sender as Panel).BackgroundImage = null;}private void panel10_MouseEnter(object sender, EventArgs e){(sender as Panel).BackgroundImage = Properties.Resources._4;}private void panel10_MouseLeave(object sender, EventArgs e){(sender as Panel).BackgroundImage = null;}private void btnkuGou_Click(object sender, EventArgs e){Process p = new Process();p.StartInfo.FileName = @"D:\Program Files\KuGou\KGMusic\KuGou.exe";p.Start();}//private void button6_Click(object sender, EventArgs e)//{//    //D:\Program Files\KuGou\KGMusic//    Process p = new Process();//    p.StartInfo.FileName = @"D:\Program Files\KuGou\KGMusic\KuGou.exe";//    p.Start();//}}

转载于:https://www.cnblogs.com/LifeForCode/p/3303574.html

4.Winform实现控件拖动相关推荐

  1. Winform分页控件之纯分页显示处理

    在之前介绍的Winform分页控件中,都以分页控件+显示表格控件作为一个整体性的控件,不可分开,这样做的目的是可以实现更多的操作,集成更多丰富的特性,减少我们开发的工作量,这种情况虽然适用于大多数的情 ...

  2. DevExpress Winform 常用控件

    前言 DevExpress 控件的功能比较强大,是全球知名控件开发公司,对于开发 B/S 或 C/S 都非常出色,可以实现很炫且功能强大的效果. DevExpress Winform 常用控件是本人在 ...

  3. [转载]WPF控件拖动

    这篇博文总结下WPF中的拖动,文章内容主要包括: 1.拖动窗口 2.拖动控件 Using Visual Studio 2.1thumb控件 2.2Drag.Drop(不连续,没有中间动画) 2.3拖动 ...

  4. VB调用C#写的WinForm.NET控件

    点击下载本文配套的演示程序代码http://files.cnblogs.com/xdesigner/VB-CS-WinformControl.zip. 一.前言: 虽然IT开发技术日新月异,不过业界仍 ...

  5. winform/timer控件/权限设置/三级联动

    winform/timer控件/权限设置/三级联动 一.timer控件 组件--timer timer是一个线程,默认可以跨线程访问对象 属性:Enabled--可用性 Interval--间隔时间 ...

  6. winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法。

    winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法. 参考文章: (1)winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解 ...

  7. 如何在多线程中调用winform窗体控件2——实例篇

    如何在多线程中调用winform窗体控件2--实例篇 针对之前文章<如何在多线程中调用winform窗体控件>,下面举个我项目中的实际案例,这是一个我自定义控件在异步设置焦点时的代码.在新 ...

  8. QML控件拖动并靠边停留

    前言 用QML做控件拖动,当鼠标按下要拖动的按钮然后移动鼠标,控件坐标会随着鼠标而移动,释放鼠标后判断当前的控件位置,然后选择要停留在父窗口的左边还是右边,再通过动画将控件移动到边上.这种场景在做工具 ...

  9. winform 判断控件有没有被遮挡_编程入门基础之 winform(2)

    在编程入门1中,我们通过WINFORM等控件画出了登录界面,我们今天写登录界面的登录按钮事件. 装修预算小程序登录按钮事件 在上图中,我们看到了,有几个判断 ,在C#中,if ,else是作为条件判断 ...

最新文章

  1. Word中的自定义编号详解及疑难汇总!
  2. PHP Notice: undefined index 解决方法
  3. nginx的负载均衡
  4. flash cs4 java运行时_加载外部数据时Flash CS4 IDE内部缓存
  5. mysql 字符串 四舍五入保留精度CAST命令
  6. 基于Axure的火车购票APP
  7. c#让电脑锁定、注销、关机
  8. WordPress博客主题KRATOS双栏响应式博客主题
  9. 常用-开发框架【转】
  10. to load JavaHL Library解决方法
  11. bzoj2763:最短路
  12. 最新大数据案例分享:2019微信数据报告(图集)
  13. 垃圾小白羊leetcode刷题记录3
  14. 山东大学 计算机人工智能2019级 认知科学与类脑计算 期末考试
  15. 刘畊宏爆红,Keep巨亏,在线健身的冰与火
  16. GNU binutils工具集
  17. 中文信息处理实验2——基于词表的分词
  18. Matlab绘制各种小波函数及尺度函数图
  19. VMWare Player设置双屏显示
  20. 华为荣耀平板5怎么样_荣耀平板5配置如何?荣耀平板5优缺点评测

热门文章

  1. Makefile_04:Makefile变量初了解
  2. powershell实例第1讲:判断某个文件夹是否存在,存在则删除
  3. 设计模式:装饰者模式(Decorator)
  4. java七大设计原则
  5. python之路---09 初始函数 参数
  6. C++函数的一些特性
  7. PHP动物书总结14-17
  8. php对象转数组的黑技术
  9. 让数字营销向人工智能借一双慧眼
  10. Snapchat何以在Facebook包围下“杀出重围”?