我想更改 C# Windows 窗体应用程序中面板的背景图像。我要设置为背景的图像位于解决方案资源管理器的资源文件夹中。如何在代码中使用它?
我试过这个:
panel1.BackgroundImage = Properties.Resources.Chalkboard;
但它没有用。
我想更改 C# Windows 窗体应用程序中面板的背景图像。我要设置为背景的图像位于解决方案资源管理器的资源文件夹中。如何在代码中使用它?
我试过这个:
panel1.BackgroundImage = Properties.Resources.Chalkboard;
但它没有用。
我尝试了和你一样的代码,当我按下按钮时它工作正常。
private void pnlBgBtn_Click(object sender, EventArgs e)
{
panel1.BackgroundImage = Properties.Resources.image;
}
'Properties.Resources.image' 中的名称 'image' 应该是您为图像指定的名称。图像的正确名称应该是在 project-proje 下的项目属性中显示的名称。
properties.Resources 类不会将每个资源都作为图像返回,因此您必须像这样对 Image 应用强制转换
panel1.BackgroundImage = (Image)(Properties.Resourses.Chalkboard);
你可以试试这个:
Bitmap bmp = new Bitmap(System.Reflection.Assembly.GetEntryAssembly().
GetManifestResourceStream("MyProject.Resources.myimage.png"));
panel1.BackgroundImage = bmp;
如果要在页面加载时设置面板的背景图像,则必须编写以下代码:
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;
您可以在 Properties 项目文件夹中创建图标资源。当您打开“属性”时,单击 Resources.resx,然后单击“添加资源”->“添加新图标”菜单项。这将创建一个图标。您还可以将现有文件中的图标加载到资源中,在这种情况下,图标将构建在您的可执行文件中。因此,当您的图标添加为资源时,它将被赋予一些名称。