private Point mousepoint;
private Boolean leftflag=false;
//设置全局变量,用于记录鼠标位置和左键判断标志
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
mousepoint.X = e.X;
mousepoint.Y = e.Y;
leftflag = true;
}
}// 首先记下按下左键时的第一个鼠标位置
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
leftflag = false;
}// 如果左键松开则不执行移动
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (leftflag)
{
Left= MousePosition.X- mousepoint.X;
Top = MousePosition.Y-mousepoint.Y;
}
}//如果左键标志为真则移动窗体,且移动的位置为当前鼠标位置减去按下左键时第一个鼠标位置
将窗体最大化:WindowState = FormWindowState.Maximized;