【问题标题】:How to make a Picture Box drag-and-droppable in Windows Forms?如何在 Windows 窗体中使图片框可拖放?
【发布时间】:2016-01-26 07:09:18
【问题描述】:
我在 C# 的 WinForms 中创建了一个PictureBox,现在我想通过单击并按住 PictureBox 并在表单中的某个位置释放它来使其可拖放。并且该位置应设置为我放置图片框的位置。
我已经尝试过 DragDrop 事件、MouseUp、MouseDown、MouseMove,但是失败了,我需要一个正确的方法。我不想将PictureBox 移动到另一个PictureBox。
【问题讨论】:
标签:
c#
winforms
drag-and-drop
【解决方案1】:
您可以在 MouseDown 和 MouseMove 上使用光标位置:
private void picBox_MouseDown(object sender, MouseEventArgs e)
{
mousePosition = e.Location;
}
private void picBox_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
int dx = e.X - mousePosition.X;
int dy = e.Y - mousePosition.Y;
picBox.Location = new Point(picBox.Left + dx, picBox.Top + dy);
}
}