pb
is a reference to the PictureBox that is being dragged. since you are droping on the same PictureBox you are dragging, pb
and senrder
are both referencing the same PictureBox, so the pb.Image = null;
code line is clearing the image in the PictureBox. you need to add to your condition a check that pb is different then sender, like this:
if (pb.Image != null && !pb.Equals(sender))
edit
Basically, You should use the DragEnter Event for that. If the PictureBox already contains an Image, you can set the e.Effect to DragDropEffects.None. that will also provide a better solition to the problem you described in the first place.