代碼如下:
1 private Point mouseOff;//鼠標移動位置變量 2 private bool leftFlag;//標簽是否為左鍵 3 private void FrmMain_MouseDown(object sender, MouseEventArgs e) 4 { 5 if (e.Button == MouseButtons.Left) 6 { 7 mouseOff = new Point(-e.X, -e.Y); //得到變量的值 8 leftFlag = true; //點擊左鍵按下時標注為true; 9 } 10 } 11 private void FrmMain_MouseMove(object sender, MouseEventArgs e) 12 { 13 if (leftFlag) 14 { 15 Point mouseSet = Control.MousePosition; 16 mouseSet.Offset(mouseOff.X, mouseOff.Y); //設置移動后的位置 17 Location = mouseSet; 18 } 19 } 20 private void FrmMain_MouseUp(object sender, MouseEventArgs e) 21 { 22 if (leftFlag) 23 { 24 leftFlag = false;//釋放鼠標后標注為false; 25 } 26 }
需要在哪個控件上實現這個功能,就在控件添加上這三個事件就好了。