.NETでリソースを作成して使用する方法

2008年09月18日に質問されました。  ·  閲覧回数 264.5k回  ·  ソース

Matthew Scharley picture
2008年09月18日

プログラムのさまざまな部分で簡単に参照および使用できるリソースを作成するにはどうすればよいですか?

私の特定の問題は、プログラムの状態に応じてアイコンを変更したいNotifyIconがあることです。 よくある問題ですが、私が長い間苦労してきた問題です。

回答

Matthew Scharley picture
2008年09月18日
336

さて、StackOverflowの周りからさまざまなポイントを検索してまとめた後(そう、私はすでにこの場所が大好きです)、問題のほとんどはすでにこの段階を過ぎていました。 しかし、私は自分の問題に対する答えをなんとか解決することができました。

リソースを作成する方法:

私の場合、アイコンを作成したいと思います。 ただし、リソースとして追加するデータの種類に関係なく、これは同様のプロセスです。

  • リソースを追加するプロジェクトを右クリックします。 ソリューションエクスプローラーでこれを行います。 リストから「プロパティ」オプションを選択します。
  • 「リソース」タブをクリックします。
  • バーの上部にある最初のボタンを使用すると、追加するリソースのタイプを選択できます。 文字列から開始する必要があります。 アイコンを追加したいので、それをクリックして、オプションのリストから「アイコン」を選択します。
  • 次に、2番目のボタン「リソースの追加」に移動します。 新しいリソースを追加するか、アイコンを既に作成している場合はそれを追加することもできます。 選択したオプションのプロンプトに従います。
  • この時点で、新しく追加されたリソースをダブルクリックして編集できます。 リソースはソリューションエクスプローラーにも表示され、そこでダブルクリックしても同様に効果的であることに注意してください。

リソースの使用方法:

すばらしいので、新しいリソースがあり、それらの素敵な変化するアイコンが欲しいと思っています...どうすればよいですか? 幸運なことに、C#を使用するとこれが非常に簡単になります。

すべてのリソースへのアクセスを提供するProperties.Resourcesという静的クラスがあるため、私のコードは次のように単純になりました。

paused = !paused;
if (paused)
    notifyIcon.Icon = Properties.Resources.RedIcon;
else
    notifyIcon.Icon = Properties.Resources.GreenIcon;

完了! 終了しました! 方法を知っていれば、すべてが簡単ですよね。

Quinxy von Besiex picture
2011年06月15日
9

上記は、Visual Studio 2010で期待していたように、実際には機能しませんでした。Properties.Resourcesにアクセスできず、アクセス許可の問題のためにアクセスできないと述べました。 最終的に、リソースのプロパティの永続性設定を変更する必要がありました。次に、Resources.Designer.csファイルを介してアクセスする方法を見つけました。このファイルには、MyNamespace.Properties.Resourcesを介してアイコンにアクセスできる自動ゲッターがありました。 .NameFromAddingTheResource。 これにより、Iconタイプのオブジェクトが返され、すぐに使用できるようになります。

Chuck Conway picture
2008年09月18日
7

上記の方法はうまくいきます。

別の方法(ここではWebを想定しています)は、ページを作成することです。 ページにコントロールを追加します。 次に、デザインモードで、[ツール]> [ローカルリソースの生成]に移動し

他の言語のリソースを作成するには、ファイル名の末尾の拡張子の前に4文字の言語を追加します( Account.aspx.en-US.resx、Account.aspx.es-ES.resx ...など)。

コードビハインドの特定のエントリを取得するには、次のメソッドを呼び出すだけです: GetLocalResourceObject([resource entry key/name])