提供用于访问应用程序资源的属性和类。
注解
该 My.Resources
对象提供对应用程序资源的访问,并允许动态检索应用程序的资源。 有关详细信息,请参阅管理应用程序资源(.NET)。
该 My.Resources
对象仅公开全局资源。 它不提供对与表单关联的资源文件的访问权限。 必须从窗体访问表单资源。
可以从对象访问应用程序特定于区域性的资源文件 My.Resources
。 默认情况下,对象 My.Resources
从与属性中的 UICulture 区域性匹配的资源文件中查找资源。 但是,可以重写此行为,并指定要用于资源的特定区域性。 有关详细信息,请参阅 .NET 应用中的资源。
属性
对象的属性 My.Resources
提供对应用程序资源的只读访问权限。 若要添加或删除资源,请使用 项目设计器。 可以使用 resourceName 访问通过项目设计器My.Resources.
添加的资源。
还可以通过在解决方案资源管理器中选择项目并单击“项目”菜单中的“添加新项”或“添加现有项”来添加或删除资源文件。 可以使用 resourceFileName.
resourceName 访问以My.Resources.
这种方式添加的资源。
每个资源都有一个名称、类别和值,这些资源设置确定访问资源的属性在对象中的 My.Resources
显示方式。 对于在 项目设计器中添加的资源:
该名称确定属性的名称,
资源数据是属性的值,
类别确定属性的类型:
类别 | 属性数据类型 |
---|---|
字符串 | 字符串 |
图像 | Bitmap |
图标 | Icon |
音频 | UnmanagedMemoryStream 该 UnmanagedMemoryStream 类派生自 Stream 该类,因此它可用于采用流的方法,例如 Play 该方法。 |
文件 |
- 文本文件的字符串。 - Bitmap 用于图像文件。 - Icon 图标文件。 - UnmanagedMemoryStream 用于声音文件。 |
其他 | 由设计器的 Type 列中的信息确定。 |
课程
该 My.Resources
对象将每个资源文件公开为具有共享属性的类。 类名与资源文件的名称相同。 如上一部分所述,资源文件中的资源作为类中的属性公开。
示例 1
本示例将窗体的标题设置为应用程序资源文件中命名 Form1Title
的字符串资源。 若要使示例正常工作,应用程序必须具有在其资源文件中命名 Form1Title
的字符串。
Sub SetFormTitle()
Me.Text = My.Resources.Form1Title
End Sub
示例 2
本示例将窗体的图标设置为存储在应用程序资源文件中的图标 Form1Icon
。 若要使示例正常工作,应用程序必须具有在其资源文件中命名 Form1Icon
的图标。
Sub SetFormIcon()
Me.Icon = My.Resources.Form1Icon
End Sub
示例 3
本示例将窗体的背景图像设置为名为 Form1Background
的图像资源,该资源位于应用程序资源文件中。 若要使此示例正常工作,应用程序必须具有在其资源文件中命名 Form1Background
的映像资源。
Sub SetFormBackgroundImage()
Me.BackgroundImage = My.Resources.Form1Background
End Sub
示例 4
此示例播放存储为应用程序资源文件中命名 Form1Greeting
的音频资源的声音。 若要使该示例正常工作,应用程序必须具有在其资源文件中命名 Form1Greeting
的音频资源。 该方法 My.Computer.Audio.Play
仅适用于 Windows 窗体应用程序。
Sub PlayFormGreeting()
My.Computer.Audio.Play(My.Resources.Form1Greeting,
AudioPlayMode.Background)
End Sub
示例 5
此示例检索应用程序的字符串资源的法语区域性版本。 资源命名 Message
。 若要更改对象使用的区域性 My.Resources
,该示例使用 ChangeUICulture。
若要使此示例正常工作,应用程序必须在其资源文件中具有一个命名 Message
的字符串,并且该应用程序应具有该资源文件的法语区域性版本 Resources。fr-FR.resx。 如果应用程序没有资源文件的法语区域性版本,则 My.Resource
对象将从默认区域性资源文件中检索资源。
Sub ShowLocalizedMessage()
Dim culture As String = My.Application.UICulture.Name
My.Application.ChangeUICulture("fr-FR")
MsgBox(My.Resources.Message)
My.Application.ChangeUICulture(culture)
End Sub