欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

4.Winform实现控件拖动

发布时间:2025/5/22 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 4.Winform实现控件拖动 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

*记得更改下方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实现控件拖动的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。