添加和编辑资源

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wqq1027/article/details/84953134

向项目中添加资源
可以将资源添加到项目中,方法是:在“解决方案资源管理器”中,在该项目下右击“属性”节点,单击“打开”,再单击“项目设计
器”中“资源”页上的“添加资源”按钮。
可以将资源作为链接的资源(外部文件)或嵌入的资源(直接嵌入到 .resx 文件中)添加到项目中。
在添加链接的资源时,存储项目资源信息的 .resx 文件仅包含指向磁盘上资源文件的相对路径。如果将图像、视频或其他
复杂文件作为链接的资源进行添加,则可以使用默认编辑器编辑它们,可在资源设计器中为文件类型设置关联的默认编
辑器。
当添加嵌入的资源时,数据直接存储到项目的资源 (.resx) 文件中。字符串只能作为嵌入的资源进行存储。

编辑资源
关联用于编辑各个资源的默认应用程序之后,资源设计器就允许您在开发过程中添加和修改项目资源。右击“解决方案资源管理
器”中的“属性”,然后单击“打开”,再单击项目设计器中的“资源”选项卡,可以访问资源设计器。有关更多信息,请参
见“项目设计器” ->“资源”页。
若要编辑嵌入的资源,必须直接处理 .resx 文件来操作每个字符或字节。这就是为什么在开发过程中将复杂文件类型存储为链
接的资源更为方便的原因。可以使用 二进制编辑器以十六进制或 ASCII 格式在二进制级别上编辑资源文件(包括 .resx 文件)。
可以使用图像编辑器编辑作为链接的资源存储的图标、光标以及 .jpeg 和 GIF 文件。您还可以选择使用其他应用程序作为这些
文件类型的编辑器。

将资源编译为程序集
当您生成应用程序时,Visual Studio 会调用 resgen.exe 工具,将应用程序资源转换为称为 Resources 的内部类。此类包含在
Resources.Designer.cs 文件中,而该文件嵌套在“解决方案资源管理器”中的 Resources.resx 文件下。Resources 类将所有项目资
源封装到静态只读的 get 属性中,作为在运行时提供强类型资源的方式。当通过 Visual C# IDE 进行生成时,所有封装的资源数
据(包括嵌入到 .resx 文件中的资源和链接的文件)都被直接编译到应用程序程序集(.exe 或 .dll 文件)中。换句话说,Visual C#
IDE 总是使用 /resource 编译器选项。如果从命令行进行生成,则可以指定 /linkresource 编译器选项,以便将资源部署为主应用
程序程序集之外的单独文件。这是一种高级应用方案,仅在某些很少见的情况下才需要使用。将资源与主应用程序程序集分开
部署的一种更为常见的方案是使用附属程序集,如下所述。


在运行时访问资源
若要在运行时访问资源,只需像引用任何其他类成员一样引用该资源即可。下面的示例显示如何检索名为 Image01 的位图资
源。请注意,资源类位于名为 <项目名称>.Properties 的命名空间中,因此,要么每个资源都使用完全限定名,要么在作为资源
类访问来源的源文件中添加适当的 using 指令。
System.Drawing.Bitmap bitmap1 = myProject.Properties.Resources.Image01;
在内部,get 属性使用 ResourceManager 类创建对象的新实例。


附属程序集中的资源
如果您正在创建需要本地化(翻译)为多种语言的应用程序,可以将每组特定于区域性的字符串作为资源存储在它本身的附属程
序集中。当您分发应用程序时,其中应包含主应用程序程序集和任何相应的附属程序集。然后您可以在不重新编译主应用程序
程序集的情况下,添加其他附属程序集或修改现有的附属程序集。

猜你喜欢

转载自blog.csdn.net/wqq1027/article/details/84953134