如何拖动图片框控件

本文关键字:控件 拖动 何拖动 | 更新日期: 2023-09-27 18:18:11

我有一个名为'MusicNote'的类,它继承自'PictureBox'。当用户点击它并上下移动鼠标时,我试图使它垂直拖动。我粘贴了下面的代码,它可以工作。问题是,它只在第一次工作-即用户拖动它,它被放置在新的位置,因为它应该。然而,当我再次点击它并拖动-它消失了。什么好主意吗?

如何拖动图片框控件

问题是MouseUp事件处理程序。在这种情况下,你必须取消订阅MouseMove事件处理程序。

    public void MusicNote_MouseUp(object sender, MouseEventArgs e)
    {
        isDragging = false;
        this.MouseMove -= new MouseEventHandler(OnDrag);
    }

对同一事件的多个订阅导致控件的顶值为负

似乎在OnDrag中currentX和currentY变量没有更新

 public void MusicNote_MouseUp(object sender, MouseEventArgs e)
        {
            isDragging = false;
            currentX  = e.X;
            currentY  = e.Y;
        }