C#无边框移动问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 07:27:45
private int x ; //定义变量用来保存当鼠标在窗体上按下时点的X值
private int y; //定义变量用来保存当鼠标在窗体上按下时点的Y值
private void FrmLogin_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left) //当鼠标按下的是左键时
{
this.Top = this.Top + (e.Y - y); //调整窗体的Top值;
this.Left =this.Left + (e.X - x); //调整窗体的Left值;

}
}

private void FrmLogin_MouseDown(object sender, MouseEventArgs e)
{
x = e.X; //获取当前鼠标按下所在点的X值;
y = e.Y; //获取当前鼠标按下所在点的Y值;
}

以上是代码部分,谁帮弄出来?
以前我弄过,现在不知道忘了那个步骤,怎么都搞不出了,应该很简单问题的。。。

private void Form1_MouseDown(object sender, MouseEventArgs e)
{
int xOffset;
int yOffset;
if (e.Button == MouseButtons.Left)
{
xOffset = -e.X - SystemInformation.FrameBorderSize.Width;
yOffset = -e.Y - SystemInformation.CaptionHeight -
SystemInformation.FrameBorderSize.Height;
mouseOffset = new Point(xOffset, yOffset);
isMouseDown = true;
}

}

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (isMouseDown)
{
Point mousePos = Control.MousePosition;
mousePos.Offset(mouseOffset.X, mouseOffset.Y);
Location = mousePos;
}

}

private void Form1_MouseUp(object sender, MouseEven