準備
1. C:\Windows\Web\Wallpaper\Theme2\img8.jpg ファイルをソリューションエクスプローラー内のプロジェクトツリーにドラッグ & ドロップします。
2. ソリューションエクスプローラーで、この img8.jpg を選択して、プロパティのビルドアクションを「埋め込まれたリソース」に変更します。
デザイン
1. フォーム (Form1) にボタン (button1) を配置します。
サンプルコード (C#)
// 名前空間の追加
using System.Reflection;
using System.IO;
// コード
private void button1_Click(object sender, EventArgs e)
{
Assembly assm = Assembly.GetExecutingAssembly();
Stream stream = assm.GetManifestResourceStream(assm.GetName().Name + ".img8.jpg");
this.BackgroundImage = Bitmap.FromStream(stream);
}
解説
ビットマップファイルの内容がフォームのバックグラウンドに表示されます。
このサンプルでは、まずアセンブリ情報全体を取得しています。そのアセンブリ情報の中から、ビットマップファイルをストリーム経由で抽出します。ちなみに、このビットマップファイルのフルネームは EXE 名 + "." + ビットマップファイル名となります。
最後にストリームをビットマップに変換して、フォームのバッググラウンドに設定します。
一応、EXE だけを別の場所にコピーしたところ、同じ結果になりました。これにより、ビットマップファイルが EXE に埋め込まれていることが確認できました。
結果

動作確認環境
Visual Studio 2015 Professional (C# 6.0)