SSISO Community

갤러리정

Drag and drop inside a container

using  System;
using  System.Drawing;
using  System.Collections;
using  System.ComponentModel;
using  System.Windows.Forms;
using  System.Data;

public  class  Form1  :  System.Windows.Forms.Form
{
    internal  System.Windows.Forms.Label  lblDragger;
    public  Form1()
    {
        InitializeComponent();
    }

    private  void  InitializeComponent()
    {
        this.lblDragger  =  new  System.Windows.Forms.Label();
        this.SuspendLayout();
        //  
        //  lblDragger
        //  
        this.lblDragger.BorderStyle  =  System.Windows.Forms.BorderStyle.Fixed3D;
        this.lblDragger.Image  =  new  Bitmap("winter.jpg");
        this.lblDragger.Location  =  new  System.Drawing.Point(110,  105);
        this.lblDragger.Name  =  "lblDragger";
        this.lblDragger.Size  =  new  System.Drawing.Size(72,  56);
        this.lblDragger.TabIndex  =  2;
        this.lblDragger.MouseUp  +=  new  System.Windows.Forms.MouseEventHandler(this.lblDragger_MouseUp);
        this.lblDragger.MouseMove  +=  new  System.Windows.Forms.MouseEventHandler(this.lblDragger_MouseMove);
        this.lblDragger.MouseDown  +=  new  System.Windows.Forms.MouseEventHandler(this.lblDragger_MouseDown);
        //  
        //  Form1
        //  
        this.AutoScaleBaseSize  =  new  System.Drawing.Size(5,  13);
        this.ClientSize  =  new  System.Drawing.Size(292,  266);
        this.Controls.AddRange(new  System.Windows.Forms.Control[]  {
                                                                        this.lblDragger});
        this.Name  =  "Form1";
        this.Text  =  "Fake  Drag  And  Drop";
        this.ResumeLayout(false);

    }

    [STAThread]
    static  void  Main()  
    {
        Application.Run(new  Form1());
    }


    private  bool  isDragging  =  false;


    private  int  clickOffsetX,  clickOffsetY;


    private  void  lblDragger_MouseDown(System.Object  sender,  System.Windows.Forms.MouseEventArgs  e)
    {
        isDragging  =  true;
        clickOffsetX  =  e.X;
        clickOffsetY  =  e.Y;
    }

    private  void  lblDragger_MouseUp(System.Object  sender,  System.Windows.Forms.MouseEventArgs  e)
    {
        isDragging  =  false;
    }

    private  void  lblDragger_MouseMove(System.Object  sender,
        System.Windows.Forms.MouseEventArgs  e)
    {
        if  (isDragging  ==  true)
        {
            lblDragger.Left  =  e.X  +  lblDragger.Left  -  clickOffsetX;
            lblDragger.Top  =  e.Y  +  lblDragger.Top  -  clickOffsetY;
        }
    }

}

470 view

4.0 stars