我将图片框添加到窗体并导入2张图片,从image属性下的属性中选择第一张图片,当应用程序启动并在start button event中启动时,我希望将图片更改为另一张图片。这就是我所尝试的:
pbIndicator.Image = Image.FromFile(@"..\Resources\indicator_green.png");但文件未找到异常错误会发生。
发布于 2013-09-16 07:52:40
你应该能做这样的事:
pbIndicator.Image = Resources.indicator_green;发布于 2013-09-16 07:52:22
如果Build Action在Content上,Copy to Output Directory在Copy if newer上,请确保在属性窗口中。
如果你想让它满足。否则使用阴影向导给出的答案。
发布于 2013-09-16 07:56:39
正如我在注释中所写的,如果indicator_green.jpg是通过资源文件(Resources.resx)作为资源包含的映像,那么它不会被复制到输出目录中(这意味着它在您的项目文件夹中,因为它用于构建可执行文件,但它将嵌入到程序集中,而不是单独部署)。
资源文件(默认情况下)将您添加的资源放在Resources文件夹中(然后链接)。您可以使用为资源生成的代码文件访问它们:
pbIndicator.Image = Properties.Resources.indicator_green;您可以根据项目中的内容更改名称空间Properties和属性名称(默认情况下,属性名称与原始文件的名称相同,然后与原始文件的名称相同)。
当然,您不会被迫将资源嵌入到程序集中。如果要将它们部署为独立文件,只需右键单击“参考资料”文件夹并添加一个现有文件。在该文件的属性窗口中,选择目录和et,您将能够用以下方式读取它:
pbIndicator.Image = Image.FromFile(@"Resources\indicator_green.png");请注意,Resources文件夹不会是输出目录的子目录(不要忘记源文件不是安装的一部分)。
无论如何,我建议您不要构建这样的路径,更好的一点是不要依赖当前文件夹:
pbIndicator.Image = Image.FromFile(
Path.Combine(Application.StartupFolder, @"Resources\indicator_green.png");您不仅限于Resources文件夹,还可以使用任何文件夹(以及任何名称)来实现该功能。
https://stackoverflow.com/questions/18822770
复制相似问题