我想在C#Windows Forms应用程序中更改面板的背景图像。我想要设置为背景的图像位于Solution Explorer中的资源文件夹中。我如何在代码中使用它?
我试过了:
panel1.BackgroundImage = Properties.Resources.Chalkboard;
但它不起作用。
答案 0 :(得分:7)
我像你一样尝试了相同的代码,当我按下按钮时它工作正常。
private void pnlBgBtn_Click(object sender, EventArgs e)
{
panel1.BackgroundImage = Properties.Resources.image;
}
'Properties.Resources.image'中的名称'image'应该是您为图像指定的名称。 图像的正确名称应该是project-proje下项目属性中显示的名称。
答案 1 :(得分:2)
properties.Resources类不会将每个资源作为图像返回,因此您必须像这样将图像应用到图像
panel1.BackgroundImage = (Image)(Properties.Resourses.Chalkboard);
答案 2 :(得分:1)
你可以尝试一下:
Bitmap bmp = new Bitmap(System.Reflection.Assembly.GetEntryAssembly().
GetManifestResourceStream("MyProject.Resources.myimage.png"));
panel1.BackgroundImage = bmp;
答案 3 :(得分:1)
如果要在页面加载时设置面板的背景图像,则必须编写以下代码:
private void panel1_Paint(object sender, PaintEventArgs e)
{
Assembly asm = Assembly.GetExecutingAssembly();
Bitmap backgroundImage = new Bitmap(asm.GetManifestResourceStream("Image913.jpg"));
e.Graphics.DrawImage(
backgroundImage,
this.ClientRectangle,
new Rectangle(0, 0, backgroundImage.Width, backgroundImage.Height),
GraphicsUnit.Pixel);
}
如果要设置除面板以外的图像,请使用以下代码加载:
Bitmap bmp = new Bitmap(System.Reflection.Assembly.GetEntryAssembly().
GetManifestResourceStream("MyProject.Resources.photo0018.jpg.png"));
panel1.BackgroundImage = bmp;
答案 4 :(得分:0)
您可以在“属性”项目文件夹中创建图标资源。当您打开属性时,单击Resources.resx并在那里添加资源 - >添加新图标菜单项。这将创建一个图标。您还可以将现有文件中的图标加载到资源中,在这种情况下,图标将构建在可执行文件中。因此,当您的图标作为资源添加时,它将被赋予一些名称。