1. 程式人生 > >C#如何實現控制元件移動拖動

C#如何實現控制元件移動拖動

1 //在picturebox滑鼠移動
2 private void picBox_MouseMove(object sender, MouseEventArgs e)
3 {
4     if (MoveFlag)
5     {
6         picBox.Left += Convert.ToInt16(e.X - xPos);//設定x座標.
7         picBox.Top += Convert.ToInt16(e.Y - yPos);//設定y座標.
8     }
9 }

在需要移動的控制元件的MouseMove事件新增以上程式碼

1 //在picturebox的滑鼠按下事件裡.
2 private void picBox_MouseUp(object sender, MouseEventArgs e) 3 { 4 MoveFlag = false; 5 }

在需要移動的控制元件的MouseUp事件新增以上程式碼

1 //在picturebox的滑鼠按下事件裡,記錄三個變數.
2 private void picBox_MouseDown(object sender, MouseEventArgs e)
3 {
4     MoveFlag = true;//已經按下.
5     xPos = e.X;//當前x座標.
6     yPos = e.Y;//當前y座標.
7 }

在需要移動的控制元件的MouseDown事件新增以上程式碼

宣告需要的變數

記錄x座標: int xPos;
記錄y座標: int yPos;
記錄是否按下滑鼠: bool MoveFlag;

 

 

編輯轉自:https://www.cnblogs.com/lyl6796910/archive/2012/06/27/2566359.html