title: How to record window position in Windows Forms application settings
body: <p>It seems like a standard requirement: next time the user launches the application, open the window in the same position and state as it was before. Here's my wish list:</p>
  
  <ul>
  <li>Window position same as it was
  
  <ul>
  <li>Unless the screen has resized and the old position is now off screen.</li>
  </ul></li>
  <li>Splitters should retain their position</li>
  <li>Tab containers should retain their selection</li>
  <li>Some dropdowns should retain their selection</li>
  <li>Window state (maximize, minimize, normal) is the same as it was.
  
  <ul>
  <li>Maybe you should never start minimized, I haven't decided.</li>
  </ul></li>
  </ul>
  
  <p>I'll add my current solutions as an answer along with the limitations.</p>