首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变图片框图片

改变图片框图片
EN

Stack Overflow用户
提问于 2013-09-16 07:45:12
回答 3查看 287关注 0票数 0

我将图片框添加到窗体并导入2张图片,从image属性下的属性中选择第一张图片,当应用程序启动并在start button event中启动时,我希望将图片更改为另一张图片。这就是我所尝试的:

代码语言:javascript
复制
pbIndicator.Image = Image.FromFile(@"..\Resources\indicator_green.png");

但文件未找到异常错误会发生。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-16 07:52:40

你应该能做这样的事:

代码语言:javascript
复制
pbIndicator.Image = Resources.indicator_green;
票数 2
EN

Stack Overflow用户

发布于 2013-09-16 07:52:22

如果Build ActionContent上,Copy to Output DirectoryCopy if newer上,请确保在属性窗口中。

如果你想让它满足。否则使用阴影向导给出的答案。

票数 1
EN

Stack Overflow用户

发布于 2013-09-16 07:56:39

正如我在注释中所写的,如果indicator_green.jpg是通过资源文件(Resources.resx)作为资源包含的映像,那么它不会被复制到输出目录中(这意味着它在您的项目文件夹中,因为它用于构建可执行文件,但它将嵌入到程序集中,而不是单独部署)。

资源文件(默认情况下)将您添加的资源放在Resources文件夹中(然后链接)。您可以使用为资源生成的代码文件访问它们:

代码语言:javascript
复制
pbIndicator.Image = Properties.Resources.indicator_green;

您可以根据项目中的内容更改名称空间Properties和属性名称(默认情况下,属性名称与原始文件的名称相同,然后与原始文件的名称相同)。

当然,您不会被迫将资源嵌入到程序集中。如果要将它们部署为独立文件,只需右键单击“参考资料”文件夹并添加一个现有文件。在该文件的属性窗口中,选择目录和et,您将能够用以下方式读取它:

代码语言:javascript
复制
pbIndicator.Image = Image.FromFile(@"Resources\indicator_green.png");

请注意,Resources文件夹不会是输出目录的子目录(不要忘记源文件不是安装的一部分)。

无论如何,我建议您不要构建这样的路径,更好的一点是不要依赖当前文件夹:

代码语言:javascript
复制
pbIndicator.Image = Image.FromFile(
    Path.Combine(Application.StartupFolder, @"Resources\indicator_green.png");

您不仅限于Resources文件夹,还可以使用任何文件夹(以及任何名称)来实现该功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18822770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档