title: Drag&Drop WinForm UserControl object
body: <p>I'm trying to d&amp;d UserControl that I created.
  Here is the UserControl:</p>
  
  <p><a href="https://i.stack.imgur.com/VnuHa.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/VnuHa.png" alt="enter image description here"></a></p>
  
  <p>For example, I have two <code>UserControls</code> like this in the <code>FlowLayotPanel</code>. When I drag one <code>UserControl</code> to another I want to merge the <code>UserControl</code> data. Merge their labels and images. </p>
  
  <p>According to <a href="https://msdn.microsoft.com/en-us/library/aa984430%28v=vs.71%29.aspx" rel="nofollow noreferrer">this article</a> I don't have the ability to pass the draggable UserControl as an argument to DoDragDrop function.</p>
  
  <p>What I'm doing right now is something like this:</p>
  
  <pre><code>        string dataString = "";
  
          dataString += barcodeLabel.Text + "~";
  
          string sImg64bit = ImageToBase64(scannedDocImg, ImageFormat.Bmp);
  
          dataString += sImg64bit;
  
          DoDragDrop(dataString, DragDropEffects.Copy);   
  </code></pre>
  
  <p>I'm just passing the data in a string format. I don't think this is good idea?
  Is there any other way to pass draggable data? Any thoughts?</p>