方法 : 文字列リソースを追加または削除する
更新 : 2007 年 11 月
リソース デザイナを使用して、プロジェクトの文字列リソースを追加または編集できます。文字列リソースを追加および削除する方法は、他の種類のリソースを追加および削除する方法とは異なります。文字列リソース以外の種類のリソースを管理する方法については、「方法 : リソースを追加または削除する」を参照してください。
長い文字列のために文字列リソースを使用することはお勧めしません。編集しづらく、32767 文字までという制限もあるためです。代わりに、リソース デザイナで [リソースの追加] の一覧の [新しいテキスト ファイルの追加] を使用してテキスト ファイルを追加します。新しいテキスト ファイルは Resources ディレクトリに追加されます。このファイルには、必要なだけテキストを格納でき、必要に応じてエンコーディングを設定できます。プログラムをコンパイルするときには、このテキストはストリング テーブルに入力されているかのように見えます。
文字列リソースを手動でプロジェクトに追加した場合 (ソリューション エクスプローラを使用して .resx ファイルを追加した場合など)、新しいファイル内のリソースは、プロジェクト デザイナの [リソース] ページで作成したリソースと区別されます。新しい .resx ファイルをダブルクリックすると、そのファイルのための [リソース デザイナ] ウィンドウが開き、ファイルの内容が設定グリッドに表示されます。新しい .resx ファイルを追加すると、"このファイルに対して厳密に型指定されたリソースの生成を有効にしますか?" という確認メッセージが表示されます。[はい] をクリックすると、新しいリソースに対して、厳密に型指定されたリソースのサポートが提供されます。このサポートはコンパイル時の機能であり、静的な読み取り専用の (get) プロパティのセットを含むクラスを作成することで、リソースへのアクセスをカプセル化します。これにより、ResourceManager クラスの GetString メソッドや GetObject メソッドを使用せずにリソースを利用できるようになります。詳細については、「StronglyTypedResourceBuilder」を参照してください。
リソース デザイナでは、ドラッグ アンド ドロップ編集によって文字列リソースを追加することもできます。文字列をドラッグ アンド ドロップする場合は、[名前] フィールド、[値] フィールド、および [コメント] フィールドがタブ ストップで区切られている必要があります。区切られていない場合は、文字列全体が [名前] 列に追加されます。
リソース デザイナによる厳密に型指定されたリソースの生成方法については、「アプリケーション リソースの管理」を参照してください。
文字列リソースを追加するには
ソリューション エクスプローラでプロジェクトが選択されている状態で、[プロジェクト] メニューの [プロパティ] をクリックします。
[リソース] タブをクリックします。リソース デザイナ ツール バーの [リソース ビュー] ドロップダウンをポイントし、矢印をクリックして、[文字列] (既定) に設定されていることを確認します。設定グリッドが表示され、リソース デザイナのこのインスタンスが保持する文字列が表示されます。
設定グリッドの最後の行 (アスタリスク (*) でマークされた行) で、[名前] 列をクリックします。
[名前] 列に文字列の名前を入力します。
[値] 列に、リソースとして使用する文字列を入力します。
メモ : 文字列に改行 (CLRF 文字) を含めるには、Shift キーを押しながら Enter キーを押します。文字列のすべての行を表示するには、行のサイズを変更する必要があります。サイズを変更するには、グリッドの一番左の列で、行の下の境界にマウス ポインタを置き、境界線をクリックして下へドラッグします。
オプションで、[コメント] 列にコメントを入力します。
メモ : コメントはアプリケーション内にはコンパイルされず、デザイン時にのみ使用できます。
文字列リソースを削除するには
ソリューション エクスプローラでプロジェクトが選択されている状態で、[プロジェクト] メニューの [プロパティ] をクリックします。
[リソース] タブをクリックします。
リソース デザイナ ツール バーの [リソース ビュー] ドロップダウンをポイントし、矢印をクリックして、[文字列] (既定) に設定されていることを確認します。
灰色の行ヘッダーをクリックして、削除する文字列が含まれている行を選択します。
リソース デザイナ ツール バーの [削除] をクリックします。