.NET运行界面上,实现随意拖动控件的方法
2019/7/7 18:32:33
本文主要是介绍.NET运行界面上,实现随意拖动控件的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
using System.Windows.Forms;
namespace WinFormsApp_DragControls
{
public class DragControl
{
//待拖动的控件
private Control m_Control;
//鼠标按下时的x,y坐标
private int m_X;
private int m_Y;
public DragControl(Control control)
{
m_Control = control;
m_Control.MouseDown += new MouseEventHandler(control_MouseDown);
m_Control.MouseMove += new MouseEventHandler(contro_MouseMove);
}
private void control_MouseDown(object sender, MouseEventArgs e)
{
m_X = e.X;
m_Y = e.Y;
}
private void contro_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
int x = e.X - m_X;
int y = e.Y - m_Y;
this.m_Control.Left += x;
this.m_Control.Top += y;
}
}
}
}
调用:
DragControl obj1 = new DragControl(button1);
则表示在运行的界面上,支持随意拖动button1
另外还可以进一步实现改变控件大小、GDI+实现加边界脚点、保存控件的位置到xml下次可以读取(布局)以及自动布局N个Control的算法等,想进一步了解可与本人联系,此处不多叙述..
这篇关于.NET运行界面上,实现随意拖动控件的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!