110,571
社区成员
发帖
与我相关
我的任务
分享
private bool flagMove = false;
public Form1()
{
InitializeComponent();
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseUp);
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseMove);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseDown);
}
//左键按下时,设置可移动
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
this.flagMove = true;
}
//左键松开时,设置不可移动
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
this.flagMove = false;
}
//移动
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (this.flagMove)
{
this.Location = new Point(e.X,e.Y);
}
}
private Point mouseOffset; //记录鼠标指针的坐标
private bool isMouseDown = false; //记录鼠标按键是否按下
private void picCLose_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void fmLogin_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 fmLogin_MouseMove(object sender, MouseEventArgs e)
{
if (isMouseDown)
{
Point mousePos = Control.MousePosition;
mousePos.Offset(mouseOffset.X+5, mouseOffset.Y+30);
Location = mousePos;
}
}
private void fmLogin_MouseUp(object sender, MouseEventArgs e)
{
// 修改鼠标状态isMouseDown的值
// 确保只有鼠标左键按下并移动时,才移动窗体
if (e.Button == MouseButtons.Left)
{
isMouseDown = false;
}
}