我希望在DragDrop
es中使用PicureBox
,但永远不会调用DragDrop()
和DragEnter()
方法。
我创建了方法MouseMove
,在此方法中,我调用了DoDragDrop()
,应该调用DragDrop()
和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);
}
}
答案 0 :(得分:6)
我有类似的问题。问题是表单有AllowDrop
,但图片没有。由于我忽略的原因,AllowDrop
不是PictureBox
的成员。
对我有用的技巧是替换
this.AllowDrop = True;
通过
((Control)myPictureBox).AllowDrop = True;
其中myPictureBox
是PictureBox
的实例。
答案 1 :(得分:0)
myPictureBox.AllowDrop = true;
尽管在myPictureBox的方法列表中看不到“ AllowDrop”,您仍可以使用此代码。