C#如何實現控制元件移動拖動
阿新 • • 發佈:2018-11-06
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