C#为控件添加图像时,导入“本地资源”与“项目资源文件”的区别

本文探讨了C#中“本地资源”与“项目资源文件”两种图像加载方式的区别。作者遇到“项目资源文件”图片无法显示的问题,而“本地资源”图片仍可正常显示。文章详细解释了两种方式的引用语法及各自的特性,如资源文件位置、资源名修改与跨界面引用等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#为控件添加图像时,“本地资源”与“项目资源文件”的区别
今天早上打开项目的时候,发现导入到“项目资源文件”的图片都显示不出来了,而导入到“本地资源”的图片还可以显示,觉得莫名其妙,就算是重新导入图片到“项目资源文件”也显示不出来,而导入“本地资源”就可以显示。然后打开之前保存的项目版本,发现不管是导入“项目资源文件”还是“本地资源”的图片都可以正常显示。然后把这个可以正常显示的项目换一台计算机,还是只有“本地资源”的可以显示,把 this.btn_Refresh.Image = global::test.Properties.Resources.Refresh;//“项目资源文件”的引用这个语句屏蔽之后再取消屏蔽有可以了,还没找到真正的原因!!!!
在这里插入图片描述
本人理解是:前者是写死在程序里,后者可以在Resource.resx更改图片引用。我尝试了编译好程序再把两者的图片删除,程序还可以运行正常,所以认为图片最后都会被编译到程序中。

如:

       this.btn_start.Image = ((System.Drawing.Image)(resources.GetObject("btn_start.Image")));//“本地资源”的引用
       this.btn_Refresh.Image = global::test.Properties.Resources.Refresh;//“项目资源文件”的引用

导入“本地资源”的图片,会在form文件下面的form.resx文件里面,不可以在多个form界面引用,不可以在里面修改图片的名称;而导入“项目资源文件”的图片,会保存在Properties文件夹下面的Resources.resx文件夹里面,可以在多个form界面引用,可以在里面修改图片的名称。
注意:Resources.rexs文件里面的资源可以改名字,有时会自动映射到已运用的资源,有时需要手动修改。
在这里插入图片描述在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值