您的位置:首页 > 编程语言 > C#

C# WinForm 实现控件可拖拽

2012-04-24 18:04 429 查看
实现的功能:WinForm窗体中让控件可以随便拖动;类似于BS中弹出可拖动的层一样;

界面如图:



直接上代码:

namespace DropControlDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private bool isMouseDown = false;
private Point mouseOffset; //记录鼠标指针的坐标

private void pan_Drop_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
mouseOffset.X = e.X;
mouseOffset.Y = e.Y;
isMouseDown = true;
}
}

private void pan_Drop_MouseMove(object sender, MouseEventArgs e)
{
if (isMouseDown)
{
int left = pan_Drop.Left + e.X - mouseOffset.X;
int top = pan_Drop.Top + e.Y - mouseOffset.Y;
pan_Drop.Location = new Point(left, top);
}
}

private void pan_Drop_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
isMouseDown = false;
}
}
}
}

附件例子下载:猛击下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: