C#

C# プログラムでリソースを作って使う

投稿日:

プログラムで使うリソースには、文字列・画像などがあります。
こういったリソースは、Visual Studioなどの開発環境下であれば簡単に作り使うことができます。

ここでは、あえてプログラムでリソースファイル(.resx)を作成させてそのリソースファイルからリソースを取得して使ってみます。

リソースファイル(.resx)を作る

プログラムでリソースファイルを作るには、System.Resources.ResXResourceWriterクラスを使います。

ただ、このクラスを使うには参照設定に"System.Windows.Forms"が入っている必要があります。
リソースの追加は、生成したSystem.Resources.ResXResourceWriterクラスオブジェクトのAddResourceメソッドで「名前」「値」(文字列リソースの場合文字列)を渡します。
AddResourceメソッドの「値」は文字列だけでなくobjectクラスも渡せます(画像の場合はBitmapオブジェクトなど)。

また、resxファイルはUTF-8のXMLファイルなので、簡単な文ですが3か国語のリソースファイルを作ってみます。

 

このコードで作成したリソースファイル(.resx)の中身はこんな感じです。

ファイルの前半部分(というよりほとんど?)はコメントです。

resxファイルの最後のほうにプログラムから出力したリソースの情報があります。

 

リソースファイル(.resx)からリソースを取得する

先ほどのプログラムで生成したリソースファイル"MyResources.resx"からリソースを取得して画面に表示するプログラムを作成します。

せっかくなので、簡単な言語切替っぽいプログラムにしてみます。

 

先ほど生成したファイル"MyResources.resx"は、実行ファイル(.exe)が出力されるフォルダに用意しておきます。

 

実行した結果

起動直後

 

ドロップダウンで"English"を選んで[Change]ボタンを押したところ

 

ドロップダウンで"日本語"を選んで[Change]ボタンを押したところ

 

ドロップダウンで"中文"を選んで[Change]ボタンを押したところ

 

 

-C#
-, , , , , ,

Copyright© プログラミングテクニック集キヤミー , 2020 All Rights Reserved.