設定の保存と復帰


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

ApplicationSettingsBaseクラス を使用してアプリケーションで使用するデータを格納していくと簡単。

  • 高水準の読み込み操作および保存操作
  • ユーザー スコープの設定のサポート
  • ユーザー設定から定義済み既定値への復帰
  • 以前のバージョンのアプリケーションで使用した設定のアップグレード
  • 設定の変更前または保存前における検証

アプリケーションスコープとユーザースコープ

アプリケーションスコープはアプリケーションの動作に関する情報を保存するスコープで、ランタイムでは読み取り専用となります。
そのため、アプリケーション実行前に設定を行っておく必要があります。

ユーザースコープはアプリケーションを実行しているユーザー毎に保存可能なデータのスコープです。ユーザースコープはアプリケーション内からの読み書きが可能です。

WindowsVista以降の環境では、実行ファイルの実行ユーザー権限の問題からアプリケーションが自由にファイルアクセスすることはできません。
ユーザースコープも、AユーザーとBユーザーはそれぞれ異なる設定ファイルが生成され各ユーザーの設定ファイルを読み書きすることはできません。

保存と復帰

ConfigurationManagerを使用するには参照設定で「Windows.Configuration」を読み込む必要があります。

Configuration conf = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
string savePatj = conf.FilePath;

アプリケーション設定データクラス

保存するプロパティにはApplicationScopedSetting または UserScopedSetting アトリビュートを設定する。

public class MySettings : ApplicationSettingsBase {
	[UserScopedSetting()]
	[DefaultSettingValue("white")]
	public Color BackgroundColor {
		get {
			return (Color)(this["BackgroundColor"]);
		}
		set {
			this["BackgroundColor"] = (Color)value;
		}
	}
}

設定値に与える属性

UserScopedSettingはユーザースコープとして保存するデータを示すアノテーション。

DefaultSettingValueはプロパティのデフォルト値を設定するアノテーションです。

読んでいる本


Effective C#

QLOOKアクセス解析

ここを編集