Прежде чем картинку присоединить к проекту нужно ее перевести в файл Resource. Это можно сделать с помощью известной утилиты Resgen.
Resgen.exe Images.resx
Потом при сборке присоединить его к EXE
csc /res:Images.resources 6.cs
Потом только можно пользоваться. Вот код. За основу взят код из "Шаг 39 - Отображаем картинку".
using System; using System.Windows.Forms; using System.Drawing; using System.IO; using System.Resources; class MyForm : AppForm { public static void Main() { Application.Run(new MyForm()); } } class AppForm : Form { public AppForm() { MainMenu mnuFileMenu = new MainMenu(); this.Menu = mnuFileMenu; MenuItem MenuItemFile = new MenuItem("&File"); MenuItemFile.MenuItems.Add("Open",new System.EventHandler(this.MenuOpen_Click)); mnuFileMenu.MenuItems.Add(MenuItemFile); lb= new Label(); lb.Location = new Point(15,15); lb.Size = new Size(200,200); this.Controls.Add(lb); } private void MenuOpen_Click(Object sender, EventArgs e) { ResourceManager rm = new ResourceManager("Images",this.GetType().Assembly); lb.Image= (System.Drawing.Image)rm.GetObject("Image"); } private Label lb; }
При нажатии на Open картинка будет отображена. Разница в том что мы просто получили объект и привели его к Image.