一个拖动无标题栏窗体的方法 修正
2010-02-04 17:29
435 查看
下载全部代码:http://www.cckan.net/forum.php?mod=viewthread&tid=68
上次文章地址/article/4703824.html
上次写了一个一个拖动无标题栏窗体的方法 发现有一些问题就是每次单击的时候 会向上移动两个像素,现在修改一下
代码
private bool isMouseDown = false;
private Point FormLocation; //form的location
private Point mouseOffset; //鼠标的按下位置
private void Messages_MouseDown(object sender, MouseEventArgs e)
{
try
{
if (e.Button == MouseButtons.Left)
{
isMouseDown = true;
FormLocation = this.Location;
mouseOffset = Control.MousePosition;
}
}
catch (Exception)
{
}
}
private void Messages_MouseMove(object sender, MouseEventArgs e)
{
try
{
int _x = 0;
int _y = 0;
if (isMouseDown)
{
Point pt = Control.MousePosition;
_x = mouseOffset.X - pt.X;
_y = mouseOffset.Y - pt.Y;
this.Location = new Point(FormLocation.X - _x, FormLocation.Y - _y);
}
}
catch (Exception )
{
}
}
private void Messages_MouseUp(object sender, MouseEventArgs e)
{
try
{
isMouseDown = false;
}
catch (Exception)
{
}
}
上次文章地址/article/4703824.html
上次写了一个一个拖动无标题栏窗体的方法 发现有一些问题就是每次单击的时候 会向上移动两个像素,现在修改一下
代码
private bool isMouseDown = false;
private Point FormLocation; //form的location
private Point mouseOffset; //鼠标的按下位置
private void Messages_MouseDown(object sender, MouseEventArgs e)
{
try
{
if (e.Button == MouseButtons.Left)
{
isMouseDown = true;
FormLocation = this.Location;
mouseOffset = Control.MousePosition;
}
}
catch (Exception)
{
}
}
private void Messages_MouseMove(object sender, MouseEventArgs e)
{
try
{
int _x = 0;
int _y = 0;
if (isMouseDown)
{
Point pt = Control.MousePosition;
_x = mouseOffset.X - pt.X;
_y = mouseOffset.Y - pt.Y;
this.Location = new Point(FormLocation.X - _x, FormLocation.Y - _y);
}
}
catch (Exception )
{
}
}
private void Messages_MouseUp(object sender, MouseEventArgs e)
{
try
{
isMouseDown = false;
}
catch (Exception)
{
}
}
相关文章推荐
- 一个拖动无标题栏窗体的方法 修正
- 一个拖动无标题栏窗体的方法
- VC++无标题窗口以及控件拖动的方法(修正)
- VC++无标题窗口以及控件拖动的方法(修正)
- VC++无标题窗口以及控件拖动的方法(修正)
- 无标题窗体拖动(三种方法)
- WinForm拖动没有标题栏窗体的方法
- VC++无标题窗口以及控件拖动的方法(修正)
- 三种方法实现Delphi无标题窗体的拖动
- WPF设置窗体可以使用鼠标拖动大小的方法
- Qt中,当QDockWidget的父窗口是一个不可以拖动的QTabWidget的时候实现拖动的方法
- C#一个窗体Form2获得另一个窗体Form1的方法
- 一个存储用户信息的类,支持单一登录(经过网友提醒,标题已经修正)
- VC中无标题栏的对话框界面 ,如何来拖动程序的解决方法
- 一个控制GridView标题头的方法
- C#无标题栏也要实现窗体拖动
- C#窗体无标题栏拖动
- C# 移动无标题栏窗体的几种方法
- (1_255)Qt拖动没有标题栏的窗体
- 三种方法实现窗体的拖动