C# WinForm 實現控件可拖拽



實現的功能:WinForm窗體中讓控件可以隨便拖動;類似於BS中彈出可拖動的層一樣;


 界面如圖:

 

 

直接上代碼:

 

namespace DropControlDemo
{
     public  partial  class Form1 : Form
    {
         public Form1()
        {
            InitializeComponent();
        }

         private  bool isMouseDown =  false;
         private Point mouseOffset;  // 記錄鼠標指針的坐標

         private  void pan_Drop_MouseDown( object sender, MouseEventArgs e)
        {
             if (e.Button == MouseButtons.Left)
            {
                mouseOffset.X = e.X;
                mouseOffset.Y = e.Y;
                isMouseDown =  true;
            }
        }

         private  void pan_Drop_MouseMove( object sender, MouseEventArgs e)
        {
             if (isMouseDown)
            {
                 int left = pan_Drop.Left + e.X - mouseOffset.X;
                 int top = pan_Drop.Top + e.Y - mouseOffset.Y;
                pan_Drop.Location =  new Point(left, top);
            }
        }

         private  void pan_Drop_MouseUp( object sender, MouseEventArgs e)
        {
             if (e.Button == MouseButtons.Left)
            {
                isMouseDown =  false;
            }
        }
    }
}

 

 附件例子下載:猛擊下載

 

 


免責聲明!

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



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