/// <summary>
 /// Sets the WMP player's visibility in a thread-safe way.
 /// </summary>
 /// <param name="visible">Whether the player is visible</param>
 public void setPlayerVisibility(bool visible)
 {
     if (player.InvokeRequired) //wrong thread
     {
         playerVisibilityCallback d = new playerVisibilityCallback(setPlayerVisibility);
         player.Invoke(d, new object[] { visible });
     }
     else //right thread
     {
         player.Visible = visible;
     }
 }
 /// <summary>
 /// Sets the WMP player's visibility in a thread-safe way.
 /// </summary>
 /// <param name="visible">Whether the player is visible</param>
 public void setPlayerVisibility(bool visible)
 {
     if (player.InvokeRequired) //wrong thread
     {
         playerVisibilityCallback d = new playerVisibilityCallback(setPlayerVisibility);
         player.Invoke(d, new object[] { visible });
     }
     else //right thread
     {
         player.Visible = visible;
     }
 }