如果我有一个表单Frm1.cs,它使用了一些图标、图像或其他资源,这些资源会存储在表单的resx文件(Frm1.resx)中。
我的简单问题是如何从代码中访问这些资源?
作为一种变通方法,我可以将这些资源存储在Project资源文件中,它们将通过Properties.Resources.resourcename
提供。但是,类似的语法不适用于存储在窗体资源文件中的资源。
在寻找解决方案时,我遇到了几个ResourceManager类的引用,但无法找到使用它来访问表单资源的方法。
如果我有一个表单Frm1.cs,它使用了一些图标、图像或其他资源,这些资源会存储在表单的resx文件(Frm1.resx)中。
我的简单问题是如何从代码中访问这些资源?
作为一种变通方法,我可以将这些资源存储在Project资源文件中,它们将通过Properties.Resources.resourcename
提供。但是,类似的语法不适用于存储在窗体资源文件中的资源。
在寻找解决方案时,我遇到了几个ResourceManager类的引用,但无法找到使用它来访问表单资源的方法。
3条答案
按热度按时间bvk5enib1#
访问本地表单资源的方法是通过ResourceManager的示例。假设你在一个名为Frm1的表单中有两个PictureBox:
希望这可以帮助你…
jhkqcmku2#
如果使用visual studio设计器添加资源,则会获得一个具有静态属性的类
Resources
来访问这些资源。要访问:
9bfwbjaz3#
基于Harold Coppoolse的answer,Visual Studio(来自2022社区)在访问任何给定窗体的属性时都有一些很好的自动化。
编辑资源文件
对于在Visual Studio中创建的每个窗体,都应该有一个与之关联的
.resx
生成沿着(例如,如果插入了具有Text
属性的项)。当您在设计器工具中打开.resx
文件时,有一个**访问修饰符:*选项。将其更改为您的语言中最严格的权限(应该没有理由使用Public
),这将在.resx
文件下生成一个FormName
.Designer. 代码扩展名 * 文件。后台发生了什么?
在后台,Visual Studio使用
ResGen.exe
生成.resx
文件附带的强类型资源类。这是在Custom Tool Namespace
.resx
文件属性指定的命名空间中创建一个类,其中:这意味着,在代码中,您只需使用
*Namespace*
。*FormClassName*
.*ResourceName*
访问您需要的任何资源。您不需要额外的代码。