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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM