示例代码
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
public static class ControlDrag
{
static Dictionary
static Dictionary
//扩展函数
public static void AddDrag(this Control control)
{
if (_locationList.ContainsKey(control.Name)==false)
{
_locationList.Add(control.Name, new Point() );
_isDownList.Add(control.Name, false);
//按下鼠标
control.MouseDown += (s, ev) =>
{
\_isDownList\[control.Name\] = true;
\_locationList\[control.Name\] = new Point(ev.X, ev.Y);
};
//松开鼠标
control.MouseUp += (s, ev) =>
{
\_isDownList\[control.Name\] = false;
};
//鼠标移动
control.MouseMove += (s, ev) =>
{
if (\_isDownList\[control.Name\])
{
int left = control.Left + ev.X - \_locationList\[control.Name\].X;
int top = control.Top + ev.Y - \_locationList\[control.Name\].Y;
control.Location = new Point(left, top);
}
};
}
}
}
调用方式
private void Form1_Load(object sender, EventArgs e)
{
//可以是任何控件
panel1.AddDrag();
//可以是任何控件 label1.AddDrag();
_
}_
/*
文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放 文字少不能投放
*/
手机扫一扫
移动阅读更方便
你可能感兴趣的文章