1.Add new folder Resources in project;
2.Add resource such as picture in the Resource folder;
3.Set the picture's Build Action as Embedded Resource in picture's properties.
4.Build.
5.Access the embeded resource fill via assembly and GetManifestResourceStream
Attention the aforementioned picture's file name must include namespace.folder.filename.ext;such as "ConsoleApp30.Resources.LYF4.jpg"
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Reflection; using System.Windows.Forms; using System.IO; using System.Drawing; namespace ConsoleApp30 { class Program { static System.Windows.Forms.Form fm; [STAThread] static void Main(string[] args) { AccessEmbededResources(); Application.EnableVisualStyles(); Application.Run(fm); Console.ReadLine(); } static void AccessEmbededResources() { Assembly asm = Assembly.GetExecutingAssembly(); string fileName = "ConsoleApp30.Resources.LYF4.jpg"; using (Stream sm = asm.GetManifestResourceStream(fileName)) { Image img = System.Drawing.Image.FromStream(sm); fm = new Form(); fm.WindowState = FormWindowState.Maximized; fm.FormBorderStyle = FormBorderStyle.Fixed3D; fm.BackgroundImage = img; fm.BackgroundImageLayout = ImageLayout.Zoom; fm.TopMost = true; fm.Show(); } } } }
static void AssemblyGetEmbededResourcesNames() { Assembly assm = Assembly.GetExecutingAssembly(); string[] names = assm.GetManifestResourceNames(); Parallel.ForEach(names, x => { Console.WriteLine(x); }); }