拖放图片框

时间:2013-10-17 18:13:29

标签: c# drag-and-drop picturebox

我正在尝试制作一个应用程序,其中我有7个Pictureboxes,我想拖动每次我点击一下然后在窗体上移动鼠标。我确实通过移动表单上的图片框来实现它,但我无法保留原始图像。当我拖动一个图片框我想拖放只是一个副本而不是整个图片框在窗体上。任何帮助将不胜感激。亲切的问候。

    public Form1()
    {
        controller = Controller.getController();
        InitializeComponent();
        this.AllowDrop = true;
        this.pbOR.MouseDown += pbOR_MouseUp;

    }
    private void pbOR_MouseDown(object sender, MouseEventArgs e)
    {
        downPoint = e.Location;
        pbOR.Parent = this;
        pbOR.BringToFront();
    }

    private void pbOR_MouseMove(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Left)
        {
            pbOR.Left += e.X - downPoint.X;
            pbOR.Top += e.Y - downPoint.Y;
        }
    }

    private void pbOR_MouseUp(object sender, MouseEventArgs e)
    {
        Control c = GetChildAtPoint(new Point(pbOR.Left - 1, pbOR.Top));
        if (c == null) c = this;
        Point newLoc = c.PointToClient(pbOR.Parent.PointToScreen(pbOR.Location));
        pbOR.Parent = c;
        pbOR.Location = newLoc;
    }

0 个答案:

没有答案