title: Play a sound, wait for it to finish and then do something?
body: <p>I'm writing a <a href="http://en.wikipedia.org/wiki/Windows_Forms" rel="noreferrer">Windows Forms</a> application which is supposed to play three sound files and at the end of each sound file, it's to change the source of an image.</p>
  
  <p>I can get it to play the sounds using <code>System.Media.SoundPlayer</code>. However, it seems to play the sound in a different thread, continuing on.</p>
  
  <p>The net effect of this is that only the last sound is played and all the images are changed.</p>
  
  <p>I've tried <code>Thread.Sleep</code>, but it sleeps the whole GUI and after the sleep period everything happens at once and the last sound it played.</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>I thought PlaySynch was working, but it seems to freeze my GUI which is less than ideal. What else can I do?</p>