
.NETでWinFormアプリをC#で製作中です。
Visual Studio Community 2017を使用しています。
VisualStudioのプロパティ>リソースで、画像を20個くらい読み込んでおり、条件に応じてその画像をPictureBox1のImageプロパティで表示を切り替えようとしています。
画像を管理している string 型の変数 s が "apple" だったら、リソース内の画像「apple」を表示する、といったようなことがしたいのですが、リソース内の画像を使用する方法は下記のような感じですよね。
PictureBox1.Image = Properties.Resources.画像名
しかしこれを
string s = "apple";
PictureBox1.Image = Properties.Resources.s;
というようには指定できず困っています。
s には "orange" や "banana" などの単語が入り、表示させたいリソース内の画像と名前が一致している状態です。
こういう場合どう記述すれば良いのでしょうか?
アドバイスありましたらぜひお願いします。m(_ _)m
No.2ベストアンサー
- 回答日時:
Wr5さんご回答ありがとうございます。
「まさにこれ!」と思ったのですが、新しくプロジェクトを作成してボタンを押せばPictureBox1のImageが変わる簡単なもので試してみると‥
System.Resources.MissingManifestResourceException: '指定されたカルチャまたはニュートラル カルチャに対して適切なリソースが見つかりませんでした。 "WindowsApplication1.Properties.Resources.resources" が適切に埋め込まれたか、実行時にアセンブリ "Test_ResourceImage" にリンクされたか、または必要なサテライト アセンブリが読み込まれて完全に署名されていることを確認してください。'
‥と例外が起きてしまいます。
ググってみたら「RootNameSpaceが原因」と出てはきますが、どうすればエラーが直るのか分からず引き続き困っております。orz
No.3
- 回答日時:
>「RootNameSpaceが原因」と出てはきますが、どうすればエラーが直るのか分からず引き続き困っております。
新しいプロジェクト…ってことなら、「WindowsApplication1」ではないですよね?
プロジェクト指定になっちゃいますし。
# 正確にはnamespaceか?
#1の方法でResourceManagerは取得するべきでしょうね。
>リソースが見つからないと例外が出る
自前のリソースになければ当然かと。
隣の家の冷蔵庫の中身で料理はできませんよね?
>新しいプロジェクト…ってことなら、「WindowsApplication1」ではないですよね?
そのまんま「WindowsApplication1」で指定していたことが原因でしたorz
こちらをプロジェクト名に変えたらいけました!
恥ずかしい。。
ありがとうございます‥!
No.1
- 回答日時:
ご回答ありがとうございます。
リソース名で値を取得したい訳ではなくstringで指定したいのです。
教えていただいたURL先の方法で可能なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【EXCEL VBA】ダブルクリックで...
-
Excel ユーザーフォームで表示...
-
C#で画像を他の画像に貼り付け...
-
背景画像の繰り返しについて
-
EXCEL VBA 複数のImageコントロ...
-
UWSC 画像判定と条件分岐について
-
画像の2次元フーリエ変換の結...
-
gif 画像上の ボタンに リン...
-
画像を読み込む順番を指定した...
-
画像のビット数を変更する方法
-
画像処理したBitmapをピクチャ...
-
HTMLで画像をポップアップで表...
-
Leafletで画像をon、offさせる...
-
jqueryスライダーを2段でスライ...
-
VBA シート毎に画像挿入
-
【WPF】画像の切り替え
-
C# Excelのsheetに表示された...
-
【EXCEL VBA】ユーザーファーム...
-
VBAのユーザーフォームのイメー...
-
自作の地図をグーグルマップの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画像のビット数を変更する方法
-
背景画像の繰り返しについて
-
「using Windows」でエラーが出る
-
EXCEL VBA 複数のImageコントロ...
-
【EXCEL VBA】ダブルクリックで...
-
UWSC 画像判定と条件分岐について
-
Excel ユーザーフォームで表示...
-
VBAのユーザーフォームのイメー...
-
MFCでCImageListに画像追加失敗
-
gif 画像上の ボタンに リン...
-
画像のピクセルデータの取得
-
同じ画像を複数回表示させる
-
uwcs のマクロで画像認識をして...
-
UWSC 画像認識で条件分岐
-
vb.net 画像の透過について
-
UWSCでループ処理がうまくいき...
-
UWSC「画像が無い場合」
-
画像比較
-
uwscについての質問です。 画面...
-
生成AI画像について
おすすめ情報
Tacosanさんすみません、早とちりしていました!
こちらの方法、試してみます。
試してみましたが、やはりリソース名をstringで取得できるだけのようです。。
Tacosanさんが教えてくださったURL先も、GetObjectメソッドで取得してImage型にキャストしてあげれば良かっただけでこちらも正しかったのですね。
失礼しました。。
こちらの記事も見つかりました。
リソースファイルからリソースを取得する
https://dobon.net/vb/dotnet/programing/resourcem …
ですがリソースが見つからないと例外が出るのは同様でした。
初歩的なところで躓いてそうです。
出力ウインドウはこちら。
例外がスローされました: 'System.Resources.MissingManifestResourceException' (mscorlib.dll の中)
プログラム '[79008] Test_ResourceImage.exe' はコード -1 (0xffffffff) で終了しました。