2

I have a user control in c# on a windows form the drag drop events are only being fired around the edge of the control, does anyone have a clue what is causing this its driving me mad!?

private void flowDiagram1_DragEnter(object sender, DragEventArgs e)
{
  if(e.Data.GetDataPresent(DataFormats.Text))
    e.Effect = DragDropEffects.Move;
  else
    e.Effect = DragDropEffects.None;
}

private void flowDiagram1_DragOver(object sender, DragEventArgs e)
{
  if (!m_bDragging)
    flowDiagram1_DragDrop(sender, e);
}

private void flowDiagram1_DragDrop(object sender, DragEventArgs e)
{
  MessageBox.Show("Drop");
}
Joe White
  • 94,807
  • 60
  • 220
  • 330
Craig
  • 77
  • 4
  • cant provide code for the control its just a dll im using but it seems to happen even if i create my own controls but when im dragging/dropping im simply doing the following – Craig Jul 22 '11 at 15:44
  • private void flowDiagram1_DragEnter(object sender, DragEventArgs e) { if(e.Data.GetDataPresent(DataFormats.Text)) e.Effect = DragDropEffects.Move; else e.Effect = DragDropEffects.None; } private void flowDiagram1_DragOver(object sender, DragEventArgs e) { if (!m_bDragging) flowDiagram1_DragDrop(sender, e); } private void flowDiagram1_DragDrop(object sender, DragEventArgs e) { MessageBox.Show("Drop"); } – Craig Jul 22 '11 at 15:44
  • problem only occurs when dropping onto a control if its just a panel of something then its ok – Craig Jul 22 '11 at 15:46

1 Answers1

1

I think you need to add this to drag over too:

if(e.Data.GetDataPresent(DataFormats.Text))
    e.Effect = DragDropEffects.Move;
  else
    e.Effect = DragDropEffects.None;
James
  • 2,812
  • 3
  • 22
  • 33