.NET TIPS Windowsフォームで構成ファイルによりプロパティ値を設定するには?デジタルアドバンテージ 一色 政彦2005/07/22 |
|
|
Windowsフォーム・アプリケーションでは、そのフォームおよびフォーム上のコントロールのプロパティの値を、アプリケーション構成ファイル(「<プログラム名>.exe.config」という名前のXMLファイル)から実行時に動的に読み込んで設定することができる。このようにして、プロパティ値を(プログラム・コードとして実装するのではなく)アプリケーション構成ファイルに格納した外部データとして扱えば、アプリケーション構成ファイルの内容を変更するだけで、プログラムの挙動を容易に変更できるようになる。
これは、1つのプログラムの挙動を利用環境や利用ケースに合わせて変化させたい場合に非常に便利である。例えばあるプログラムにデモ版と製品版の2つのエディションがあり、それぞれのエディションごとにWindowsフォーム上のタイトル文字列を切り替えたいような場合に役立つ。具体的には、(プログラム自体はそのままで)内容が異なる2つのアプリケーション構成ファイルを用意するだけでよい。
しかもこの機能は、Visual Studio .NET(以降、VS.NET)を使えば、非常に簡単に実装できる。本稿ではその実装方法を示す。
プロパティ値がアプリケーション構成ファイルから設定されるようにする方法
プロパティの値がアプリケーション構成ファイルから設定されるようにするには、VS.NETの[プロパティ]ウィンドウで、対象となるフォームやコントロールの[(DynamicProperties)]プロパティを設定すればよい。具体的の手順は、次の画面のとおりだ。
上の画面のようにして、アプリケーション構成ファイルに格納するプロパティを設定(=マップ)すると、VS.NETの[ソリューション エクスプローラ]にあるプロジェクトに「app.config」という名前のファイルが追加される(ファイルが既存の場合は、そのファイル内容が更新される)。これがアプリケーション構成ファイルである。
以後、アプリケーション構成ファイルにマップされたプロパティ(本稿の例では、「textBox1」コントロールのTextプロパティ)を[プロパティ]ウィンドウで編集すると、そのプロパティ値は(ソース・ファイル内にコードとして追加されるのではなく)アプリケーション構成ファイルに外部データとして記述されることになる。
実際にそのようなプロパティ編集を行っているのが次の画面である。
アプリケーション構成ファイルにマップされたプロパティの編集例 | ||||||
アプリケーション構成ファイルにマップされたプロパティを[プロパティ]ウィンドウで編集すると、そのデータは、Windowsフォームのソース・ファイル(本稿の例では「Form1.cs」)内にコードとして追加されるのではなく、アプリケーション構成ファイル(本稿の例では「app.config」)に外部データとして記述される。 | ||||||
|
では実際に、アプリケーション構成ファイル内にそのプロパティ値が格納されているのかを確認してみよう。次の画面は、アプリケーション構成ファイルをVS.NETのエディタで開いたところである。
アプリケーション構成ファイル(app.config)の内容 |
VS.NETの[ソリューション エクスプローラ]上のプロジェクトに追加されたファイル「app.config」をダブル・クリックして、VS.NETのエディタで開く。すると、先ほど設定したプロパティ値がXMLのデータで追加されているのが確認できる(赤枠の部分)。 |
なお、(すでに前述したが)アプリケーション構成ファイルの「app.config」は、VS.NETによりビルドを行うと、プログラムが生成されるフォルダの中に「<プログラム名>.exe.config」という名前でコピーされる。アプリケーション構成ファイルを実際の運用で活用するには、この「<プログラム名>.exe.config」という形式の名前にしなければならないので注意すること(「app.config」というファイル名は、VS.NETプロジェクトで管理するための名前である)。
本稿の例で用いたプログラムをビルドすると、最終的に出力されるファイルは次の画面のようになる。
プログラムが生成されたフォルダ内にコピーされたアプリケーション構成ファイルの例 |
この例では、VS.NETプロジェクト内のアプリケーション構成ファイル「app.config」は、VS.NETのビルドにより生成されたプログラムと同じフォルダに「WindowsApplication1.exe.config」という名前でコピーされる。 |
あとは、エディションや環境ごとに、このアプリケーション構成ファイル(本稿の例では「WindowsApplication1.exe.config」)を複製してその内容をテキスト・エディタなどで編集し、実際にプログラムを配布する段階でエディションや環境に合わせてそれらのアプリケーション構成ファイルを切り替えればよい。
カテゴリ:Windowsフォーム 処理対象:構成ファイル |
|
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|