 <p>I've found an example on CodeProject that works really well. </p> <p><a href="http://www.codeproject.com/Articles/31840/Move-controls-on-a-form-at-runtime" rel="nofollow noreferrer">Move controls on a form at runtime</a></p> <p>The only problem I ran into is that I couldn't drag the <code>WebBrowser</code> control itself as it appears to capture mouse clicks. As a workaround I put the <code>WebBrowser</code> in a <code>Panel</code>, left a little space at the top so it looks like a title bar, then anchored the <code>WebBrowser</code> to fill the rest of the space.</p> <p>Put the following code somewhere appropriate like Form_Load.</p> <pre><code>Helper.ControlMover.Init(this.TheWebBrowserPanel); </code></pre> <p>You can then drag the <code>WebBrowser</code> control by dragging the <code>Panel</code> instead:</p> <p><img src="https://i.stack.imgur.com/ns3B4.gif" alt="enter image description here"></p>