これで問題なく動作しますが、プログラムの新しいバージョンをインストールすると、古い設定が「失われる」ことに注意してください (設定はプログラムの特定のバージョンに固有のものであるため)。(「バージョン」とは AssemblyVersion を意味します)
幸い、Main() の先頭またはその近くで次の関数を呼び出すことで、これに対処できます。これを機能させるには、NeedSettingsUpgrade という新しいブール値の設定プロパティを追加し、デフォルトで「true」にする必要があります。
/// <summary>Upgrades the application settings, if required.</summary>
private static void upgradeProgramSettingsIfNecessary()
{
// Application settings are stored in a subfolder named after the full #.#.#.# version
// number of the program. This means that when a new version of the program is installed,
// the old settings will not be available.
//
// Fortunately, there's a method called Upgrade() that you can call to upgrade the settings
// from the old to the new folder.
//
// We control when to do this by having a boolean setting called 'NeedSettingsUpgrade' which
// is defaulted to true. Therefore, the first time a new version of this program is run, it
// will have its default value of true.
//
// This will cause the code below to call "Upgrade()" which copies the old settings to the new.
// It then sets "NeedSettingsUpgrade" to false so the upgrade won't be done the next time.
if (Settings.Default.NeedSettingsUpgrade)
{
Settings.Default.Upgrade();
Settings.Default.NeedSettingsUpgrade = false;
}
}