C# WinForm 实现控件可拖拽
2012-04-24 18:04
429 查看
实现的功能:WinForm窗体中让控件可以随便拖动;类似于BS中弹出可拖动的层一样;
界面如图:
![](http://images.cnblogs.com/cnblogs_com/jsonzheng/DropControl.png)
直接上代码:
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;
}
}
}
}
附件例子下载:猛击下载
界面如图:
![](http://images.cnblogs.com/cnblogs_com/jsonzheng/DropControl.png)
直接上代码:
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;
}
}
}
}
附件例子下载:猛击下载
相关文章推荐
- c# winform TreeView控件中实现拖拽的功能
- c# winform TreeView控件中实现拖拽的功能
- 【转】c# winform TreeView控件中实现拖拽的功能
- C# winform 实现(不规则)窗体或者控件的拖动
- C#里WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变
- C#控件拖拽Winform
- winform(C#)拖拽实现获得文件路径
- C# Winform 的淡入淡出效果 及 控件拖拽效果
- C#实现WinForm下DataGridView控件的拷贝和粘贴
- C# WINFORM 某些控件实现联想输入功能
- C# winform 实现窗体或者控件的拖动
- 探寻C# WinForm控件开发实现下拉式属性编辑器(转)
- winform(C#)拖拽实现获得文件路径
- C# WINFORM 某些控件实现联想输入功能
- C#里WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变
- WinForm实现简单的拖拽功能(C#)
- winform(C#)拖拽实现获得文件路径
- C#下使用Winform用户控件,Host vtkRenderWindow,来实现vtk与winform集成
- WinForm实现简单的拖拽功能(C#)(2)
- C# WinForm中 让控件全屏显示的实现代码