4

我想DragDrop在我的PicureBoxes 中使用,但DragDrop()永远DragEnter()不会调用方法。

我创建了方法MouseMove,在这个方法中我调用DoDragDrop()了应该调用DragDrop()and的方法DragEnter()MouseMove被调用但不休息。

表单构造函数:

public Form1()
{
   InitializeComponent();
   this.AllowDrop = true;
}  

这是在以下构造函数中创建的PictureBox

this.DragDrop += new DragEventHandler(ttile_DragDrop);
this.DragEnter += new DragEventHandler(ttile_DragEnter);
this.MouseMove += new MouseEventHandler(ttile_MouseMove);

还有我的方法:

public void ttile_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{
   int i = 0;
}

public void ttile_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
   int i = 0; 
}

public void ttile_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
   if (e.Button == MouseButtons.Left)
   {
      ((PictureBox)sender).DoDragDrop(sender, DragDropEffects.All);
   }
} 
4

2 回答 2

7

我有一个类似的问题。问题是你有AllowDrop表格,但没有图片。出于我忽略的原因,AllowDrop它不是PictureBox.

对我有用的技巧是替换

this.AllowDrop = True;

经过

((Control)myPictureBox).AllowDrop = True;

myPictureBox我的实例在哪里PictureBox

于 2013-08-16T09:34:19.237 回答
1
myPictureBox.AllowDrop = true;

尽管在 myPictureBox 的方法列表中看不到“AllowDrop”,但您可以使用此代码。

于 2019-08-08T01:28:29.323 回答