My.Resources 对象

提供用于访问应用程序资源的属性和类

备注

My.Resources 对象提供对应用程序资源的访问,并使您能够动态地检索应用程序的资源。有关更多信息,请参见 管理应用程序资源

My.Resources 对象仅公开全局资源。它不提供对与窗体相关联的资源文件的访问。必须从窗体中访问窗体资源。有关更多信息,请参见 演练:本地化 Windows 窗体

从 My.Resources 对象可以访问应用程序的区域性特定资源文件。默认情况下,My.Resources 对象从与 UICulture 属性中的区域性匹配的资源文件中查找资源。不过,您可以重写此行为,并指定用于资源的特定区域性。有关更多信息,请参见 桌面应用程序中的资源

属性

My.Resources 对象的属性提供对您的应用程序资源的只读访问。若要添加或移除资源,请使用**“项目设计器”。有关更多信息,请参见 如何:添加或移除资源。使用 My.Resources.resourceName 可访问通过“项目设计器”**添加的资源。

您还可以通过以下方式添加或移除资源文件:在**“解决方案资源管理器”中选择项目,然后在“项目”菜单中单击“添加新项”“添加现有项”**。使用 My.Resources.resourceFileName.resourceName 可以访问以这种方式添加的资源。

每个资源都有名称、类别和值,这些资源设置确定访问资源的属性在 My.Resources 对象中的显示方式。对于在**“项目设计器”**中添加的资源:

  • 名称确定属性名。

  • 资源数据是属性值。

  • 类别确定属性的类型:

类别

属性数据类型

字符串

String

图像

Bitmap

图标

Icon

音频

UnmanagedMemoryStream

UnmanagedMemoryStream 类从 Stream 类派生而来,因此可以对它使用以流为参数的方法(如 Play 方法)。

Files

其他

由设计器的“类型”一栏中的信息决定。

My.Resources 对象将每个资源文件公开为具有共享属性的类。类名与资源文件的文件名相同。如上一部分所述,资源文件中的资源公开为类中的属性。

示例

此示例将窗体的标题对应用程序资源文件中名为的 Form1Title 字符串资源。为了使示例工作,应用程序必须在其资源文件中名为的 Form1Title 字符串。有关更多信息,请参见 如何:添加或移除资源

Sub SetFormTitle()
    Me.Text = My.Resources.Form1Title
End Sub

此示例将窗体的图标设置为名为 Form1Icon 的图标,它存储在应用程序的资源文件中。为了使示例工作,应用程序必须在其资源文件中名为的 Form1Icon 图标。

Sub SetFormIcon()
    Me.Icon = My.Resources.Form1Icon
End Sub

此示例将窗体的背景图像设置为名为 Form1Background的图像资源,应用程序资源文件。若要使此示例正常工作,应用程序必须在其资源文件中名为的 Form1Background 图像资源。

Sub SetFormBackgroundImage()
    Me.BackgroundImage = My.Resources.Form1Background
End Sub

此示例播放存储为应用程序的资源文件中名为的 Form1Greeting 音频资源中的声音。为了使示例工作,应用程序必须在其资源文件中名为的 Form1Greeting 音频资源。My.Computer.Audio.Play 方法仅对 Windows 窗体应用程序可用。

Sub PlayFormGreeting()
    My.Computer.Audio.Play(My.Resources.Form1Greeting, 
        AudioPlayMode.Background)
End Sub

此示例检索应用程序的字符串资源的法语区域性版本。该资源名为 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

请参见

任务

如何:添加或移除资源

演练:本地化 Windows 窗体

概念

桌面应用程序中的资源

其他资源

管理应用程序资源