アプリケーションの設定ファイルを保存する - Visual C# プログラミング

PROGRAM


アプリケーションの設定ファイルを保存する

Visual C# 2010 では、アプリケーションの設定をファイルに保存して管理する仕組みが用意されていました。これを使うと、アプリケーション上で行った設定をファイルに簡単に保存して、次回起動時にもその値を引き継いで利用できるようになります。

設定を次回に引き継ぐのって、ファイル操作のプログラムを組む必要があってなかなか大変でしたけど、C# ならとても手軽に実装できます。

 

そのためには、まずプロジェクトのプロパティを開いて、そこで【設定】というタブを選択します。

ここの "名前" で変数名を指定して、"型" でその変数のデータ型を指定します。

"スコープ" のところでは、ここでたとえば "アプリケーション" を指定すると、この変数が全てのユーザーに影響する値を、読み取り専用で用意することができます。

今回はアプリケーションの設定を保存するのが目的なので、この "スコープ" では "ユーザー" を選択して、内容をアプリケーションを実行中のユーザーだけに限定した、値の設定も可能な変数を用意します。

 

この画面で必要な変数を準備したら、変数の使用やファイルへの保存はとても簡単です。

たとえば、"MailAddress" というユーザースコープの string 型変数を設定していたとすると、その値の取得や設定は次のようにして、普通の変数と同じように扱うことができます。

// ユーザースコープの変数から値を読み込む

String address = Properties.Settings.Default.MailAddress;

 

// ユーザースコープの変数に値を設定する

Properties.Settings.Default.MailAddress = "xxxx@xxx.xx.xx";

変数に設定した値を、設定ファイルとして保存したい場合には、次のようにします。

Properties.Settings.Default.Save();

これだけで、"アプリケーションファイル名.config" という名前のファイルに、プロジェクトのプロパティの【設定】で登録しておいた変数の内容が保存されます。

次回起動時には、このファイルから自動的に設定値が読み込まれるので、面倒なプログラムを組む必要なく、アプリケーションの設定値を保存して、次回起動時にそれを持ち越すことができました。

 

もし、変数の値を設定した後で、現在の設定ファイルに係れている値に戻したいという場合には、次のようにしてファイルを読み出すこともできます。

Properties.Settings.Default.Reload();

既定値に戻したい場合には、次のようにします。

Properties.Settings.Default.Reset();

 

また、この設定値は、読み込まれたり値が変更されたりしたときにイベントが発生するので、それに合わせて何らかのプログラムを動作させることもできるようになっています。

これについては、プロジェクトのプロパティの【設定】のところから "コードの表示" を選択すると、それに関する説明を確認することができるようになっていました。

説明に従って、このコード内に任意の処理を追加することで、ユーザーによる設定値の変更を察知して、アプリケーション側でもそれに適応した動作を行うことができます。


[ もどる ]