如何拖动图片框控件
本文关键字:控件 拖动 何拖动 | 更新日期: 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;
}