リソースファイル(Resources.resx)

C# .net

リソースファイル(Resources.resx)

Windows 10 / Visual Stadio Community 2019 / .NET Framework 4.7.2
リソースファイルを利用するとアプリケーションの実行ファイルの中に、文字列、ファイル、イメージ、音声データなどを格納することができる。 アプリケーションは、実行時にこれらを読み込みんで利用することができる。ただし変更することはできない。

リソースの登録方法

ソリューションエクスプローラから、Propetiesの Resources.resxを開く。一番左のタブから格納するリソースの種類を選択する。
文字列は、付属のエディタから入力する。入力した文字列は、Resources.resxに埋め込まれる。
ファイルを格納する。データは付属のエディタを編集して作成することもできるが、既存のファイルから読み込むのが一般的だろう。読み込んだファイルは、プロジェクト内の Rsourcesフォルダにコピーされる。ファイルの中身を変更したいきは、このファイルを操作する。ソリューションのビルドにより、これらリソースはアプリケーションにリンクされる。
ファイルは、テキストまたはバイナリファイルとして扱われ、それぞれは、アプリケーションがファイルを読み込むときに方法が異なる。リソースの FileTypeプロパティにより変更は可能。例えば、JSON文字列で作成したファイルのタイプを .jsonとした場合、リソースに取り込んだときバイナリファイルと認識される。このままでは、アプリケーションに文字列として読み込むことはできないが、プロパティをテキストに変更すればできるようになる。
イメージを格納する。ファイルと同様に、既存のイメージファイルから読み込む読み込む。付属のお絵かきソフトからイメージを作成することもできる。
リソース名とファイル名
リソースはリソース名で管理される。ファイルをソリューションに読み込むと、リソース名はファイル名からファイルタイプを除外したものになる。 つまり、イメージファイル A.jpgと A.pngは同じリソース名となってしまう。この場合、両方のファイルを取り込むと、最初に取り込んだファイルの名前は A、2番目は A1とファイル名を自動的に変えていく。

アプリケーションでの参照方法

リソースの値は、リソース名で参照できる。"Properties.Resources" はリソースが格納されているソリューションのフォルダである。