1

我已经创建了一个图片框并在其中包含图像。但是当我运行程序时,图像没有显示任何内容,只是在我运行程序时签署“x”(未加载)。

我哪里做错了?

这是代码:

private void Images(object sender, EventArgs e)
        {
            PictureBox pb1 = new PictureBox();
            pb1.ImageLocation = "SamuderaJayaMotor.png";
            pb1.Location = new Point(100, 100);
            pb1.SizeMode = PictureBoxSizeMode.StretchImage;
            pb1.Size = new Size(200, 200);
            this.Controls.Add(pb1);
        }

这是我运行程序时的屏幕截图:

在此处输入图像描述

4

1 回答 1

2

您需要确保图像与可执行文件位于同一目录中。也就是说,当您创建应用程序时,它将位于/bin/Debug文件夹中。如果您在发布模式下运行,它将位于/bin/Release文件夹中。

通过仅提供文件名,您的应用程序正在尝试从当前工作目录加载图像。如果您在C:\MyApp.. 中运行您的应用程序,那么您的图像也必须在 .. 中C:\MyApp。如果您从 运行它D:\Projects\MyApp,那么您的图像也必须在D:\Projects\MyApp.

你可以做什么.. 将你的图像设置为始终复制到你的可执行文件所在的位置。右键单击解决方案资源管理器中的图像,然后转到属性。然后将以下属性设置为“始终复制”:

始终复制

这将确保将图像放置到您的应用程序所在的目录中。

于 2013-10-05T04:39:06.263 回答