You can achieve your goal even without SendMessage using the class System.Windows.Forms.Message. If you did a drag and drop, I think you are familiar with the message WM_NCLBUTTONDOWN. Send it to your parents from your MouseDown control event.
The following is an example of moving a form by clicking on the control shortcut1. Notice the first line in which the sender is used to release the captured control. Thus, you can set this handler for all controls designed to move your form.
This is the complete code for moving the form. Nothing more is needed.
public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
private void label1_MouseDown(object sender, MouseEventArgs e)
{
(sender as Control).Capture = false;
Message msg = Message.Create(Handle, WM_NCLBUTTONDOWN, (IntPtr)HT_CAPTION, IntPtr.Zero);
base.WndProc(ref msg);
}
Hope this helps.