47654


お世話になります。

すごく初心者的な質問で申し訳ありません。

VisualStudio2017 Communityで、プロパティのリソースに設定したイメージを  
文字列で指定して取得する方法を教えてください。

一般的なサンプルをWebで探すと、『Properties.Resources.ファイル名』で  
取得できるということはかかれています。ですがこの方法ではなく、  
上記のファイル名のところを文字列で指定して取得したいのです。

とあるサイト様には『Bitmap bmp = new Bitmap(this.GetType(), "ファイル名");』  
でできると書いてあるのですが、この方法だと画像が見つからないと言われます。

ご教授ください。

[![画像の説明をここに入力](https://i.stack.imgur.com/j7hN3.png)](https://i.stack.imgur.com/j7hN3.png)


CC BY-SA 4.0
2018-08-20T02:58:58.770
47642
2018-08-20T07:01:02.200
9374
question
c#
C# リソースからイメージを文字列指定で取得するには？


このような方法でいかがでしょうか。

[code]

    Bitmap bitmap = (Bitmap)Properties.Resources.ResourceManager.GetObject("ファイル名", Properties.Resources.Culture);
    
[/code]


CC BY-SA 4.0
2018-08-20T06:45:20.650
47654
2018-08-20T06:45:20.650
14817
47642
answer


『Properties.Resources.ファイル名』の定義に移動すれば具体的なソースコードに辿り着けます。ソリューションエクスプローラーの プロジェクト
→ Properties → Resources.resx → Resources.Designer.cs がそのファイルになります。

そこには

[code]

    internal static System.Drawing.Bitmap ファイル名 {
        get {
            object obj = ResourceManager.GetObject("ファイル名", resourceCulture);
            return ((System.Drawing.Bitmap)(obj));
        }
    }
    
[/code]

と書かれていることが確認できるかと思います。これがわかれば

[code]

    Properties.Resources.ResourceManager.GetObject("ファイル名", Properties.Resources.Culture);
    
[/code]

と書けることがわかるはずです。


CC BY-SA 4.0
2018-08-20T07:01:02.200
47656
2018-08-20T07:01:02.200
4236
47642
answer