/// <summary>
 /// Overridable function handling the logic occurring before the event changed is called.
 /// </summary>
 /// <param name="e">Country changed event arguments</param>
 protected virtual void OnChanged(CountryChangedEventArgs e)
 {
     if (Changed != null)
     Changed(this, e);
 }
 /// <summary>
 /// Sets a country within the interactive world map.
 /// </summary>
 /// <param name="country">Country</param>
 private void SetCountry(Country country)
 {
     Bitmap current = ReferenceData.GetCountryImage(country.CountryISOCode);
      if (picCountry.Image != null)
     picCountry.Image.Dispose();
      if (current != null)
      {
     int width = Math.Min(this.Width, this.Height);
     picCountry.Width = width;
     picCountry.Height = width;
     picCountry.Image = current;
     picCountry.SizeMode = PictureBoxSizeMode.StretchImage;
     picCountry.Refresh();
     picCountry.Show();
      }
      else
      {
     picCountry.Hide();
      }
      CountryChangedEventArgs args = new CountryChangedEventArgs(country.CountryName, country.CountryISOCode, country.Code);
      OnChanged(args);
 }