3

Visual Studio 2012 C#にゲームアプリケーションがあります。プロジェクトのリソースファイルに使用しているすべての.png画像があります。

Properties.Resourcesを使用して1つを除くすべてのファイルにアクセスできる理由を知っていますか?

filePath全体を確認したところ、resourcesフォルダーに設定されています。そして、[追加]-> [既存のアイテム]を実行して画像を追加したのと同じように、プログラムに追加されます。

他の画像と同じように見えます。なぜロードされないのかわかりません。講師に電子メールで.exeを送信する必要があるため、これが必要です。この画像がないと、プロジェクトは何もありません。

ここに画像の説明を入力してください

これをリソースファイルに追加しました

internal static System.Drawing.Bitmap grid_fw {
            get
            {
                object obj = ResourceManager.GetObject("grid.fw", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }

グリッドは使用可能になりましたが、nullを返しています:/

4

2 に答える 2

4

検出元:Properties.Resourcesアイコン名がインテリセンスに表示されない

また、ファイルにアイコンを追加する必要がありResources.resxます。Visual Studioで開き、アイコンをresxの[アイコン]メニューにドラッグすると、使用可能になります。

また、リソースの追加と編集(Visual C#)も参照してください。

于 2012-12-10T20:14:00.893 に答える
1

次の方法で画像への参照を取得できます。

Image myImage = Resources.yourImage;

画像のコピーを作成する場合は、次の手順を実行する必要があります。

Bitmap bmp = new Bitmap(Resources.yourImage);

使い終わったら、 bmpを破棄することを忘れないでください。コンパイル時にリソースイメージの名前がわからない場合は、リソースマネージャーを使用できます。

ResourceManager rm = Resources.ResourceManager;
Bitmap yourImage = (Bitmap)rm.GetObject("yourImage");

ResourceManagerの利点は、Resources.myImageが通常は範囲外である場合、またはリソースに動的にアクセスする場合に使用できることです。さらに、これはサウンド、構成ファイルなどに対して機能します。

于 2012-12-10T20:09:44.953 に答える