从controls派生的类通常都会有AllowDrop属性
AllowDrop=true;然后在DragDrop事件中添加你要做的
工作!

解决方案 »

  1.   

    可以通过控件的MouseMove,MouseDown和MouseUp事件来实现控件的移动。
    如移动Button1按钮, 通过在button1的MouseMove事件句柄button1_MouseMove中,改变button1的位置即可,也就是重新设置this.button1.Location属性的值。 
    下面提供一段示例程序,演示移动Button按钮,private Point mousePos; // 记录鼠标位置 
    private bool beginmove = false; // 记录是否可以移动 
    …… 
    private void button1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) 

    if(beginmove) 

    int diffx,diffy; 
    diffx =  mousePos.X - e.X; 
    diffy =  mousePos.Y - e.Y; 
    this.button1.Location = new Point(button1.Location.X-diffx,button1.Location.Y-diffy); 


    private void button1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) 

    beginmove = true;//开始移动 
    mousePos = new Point(e.X, e.Y); 

    private void button1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) 

    beginmove = false;//停止移动 
      

  2.   

    欢迎班门斧兄回来:)!谢谢 yarshray&&班兄,结贴!