web-dev-qa-db-ja.com

.NET Winformsアプリケーションに設定を保存する

可能性のある複製:
。NETアプリケーションのユーザー設定を保存する最良の方法は何ですか?

Winformsアプリケーションから(ユーザーごとに)アプリケーション設定を保存する方法について、非常に異なる例がたくさん見つかりました。

これを行う正しい方法はC#では非常に簡単であると思いますが、誰かが私を啓蒙できることを望んでいますか?

23
Jimbo

ある時点で、その答えは好みの問題に要約されます。私はあなたが少なくともこれらのオプションで終わるだろうと思います:

  • HKEY_CURRENT_USERキーがあるレジストリに保存します。その下のすべてがユーザー固有です。これは通常、一連の小さなキーと値のペアを保存する場合に適しています。このシステムの主な利点は、設定を簡単に見つけて、いくつかの異なるアプリケーション全体で共有できることです。このパスをたどるには、 here から始めます。
  • 。NETアプリケーション設定を使用して、実行時に設定にアクセスする最も簡単な方法を提供します。繰り返しますが、小さいサイズのデータ​​のキーと値のペアで使用する方が適しています。 IMO、このメソッドの主な利点は、その単純さと、一部の.NETクラスを値として使用できることです(すべてをより基本的な型に変換する必要はありません)。このパスをたどるには、 here から始めます。
  • ユーザーデータフォルダーに保存します。これらは通常、ユーザーのプロファイルディレクトリの下に隠されています。これは、大量のデータまたは任意の数のファイルを保存する場合に適しています。この方法の主な利点は、ファイルを操作する場合と同じようにデータを操作できることです(これも不利な場合があります)。このパスをたどるには、 here から始めます。
64
Miguel Ventura

.NETが提供する設定インフラストラクチャを使用できます。プロジェクトのプロパティページで、[設定]ページに移動して設定を定義します。各設定の範囲を「アプリケーション」または「ユーザー」として定義できます。コードからこれらの設定にアクセスするためのクラスが自動的に生成されます。

FooとBarの設定にアクセスするには、次を使用します。

// Read settings
textBoxFoo.Text = Properties.Settings.Default.Foo;

// Write settings
Properties.Settings.Default.Bar = checkBoxBar.IsChecked;

// Save settings
Properties.Settings.Default.Save();
18
Thomas Levesque

アプリケーション設定 を使用します。これは非常に簡単で、いくつかの問題に対処します(設定にapp.configを直接使用しないため、管理アクセスなしでアプリがインストールされるフォルダーへの書き込みアクセス権がないなど)。

1
Adam Lear