My.Resources 物件

提供屬性和類別,以存取應用程式的資源。

備註

My.Resources 物件可讓您存取應用程式的資源,並可讓您動態為您的應用程式擷取資源。 如需詳細資訊,請參閱管理應用程式資源 (.NET)

My.Resources 物件只會公開全域資源。 其不提供與表單相關聯的資源檔存取權。 您必須從表單中存取表單資源。

您可以從 My.Resources 物件存取應用程式的文化特性特定資源檔。 根據預設,My.Resources 物件會從符合 UICulture 屬性中文化特性的資源檔查閱資源。 不過,您可以覆寫此行為,並指定要用於資源的特定文化特性。 如需詳細資訊,請參閱 .NET 應用程式中的資源

屬性

My.Resources 物件的屬性可唯讀存取您應用程式的資源。 若要新增或移除資源,請使用專案設計工具。 您可以使用 My.Resources.resourceName 存取透過專案設計工具新增的資源。

您也可以在 [方案總管] 中選取專案,然後按一下 [專案] 功能表中的 [新增專案] 或 [新增現有專案] 來新增或移除資源檔。 您可以使用 My.Resources.resourceFileName.resourceName 來存取以這種方式新增的資源。

每個資源都有名稱、類別和值,而這些資源設定會決定存取資源的屬性出現在 My.Resources 物件中的方式。 針對 [專案設計工具] 中新增的資源:

  • 名稱會決定屬性的名稱,

  • 資源資料是屬性的值,

  • 類別會決定屬性的類型:

類別 屬性資料類型
字串 String
影像 Bitmap
圖示 Icon
音訊 UnmanagedMemoryStream

UnmanagedMemoryStream 類別衍生自 Stream 類別,因此可以搭配採用串流的方法使用,例如 Play 方法。
檔案 - 文字檔的字串
- 映像檔的 Bitmap
- 圖示檔的 Icon
- 聲音檔的 UnmanagedMemoryStream
其他 由設計工具的 [類型] 資料行中的資訊決定。

類別

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 Forms 應用程式。

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

範例 5

此範例會擷取應用程式法文文化特性版本的字串資源。 資源名為 Message。 為變更 My.Resources 物件所使用的文化特性,此範例會使用 ChangeUICulture

若要讓此範例運作,應用程式必須在其資源檔中具有名為 Message 的字串,而應用程式應該具有該資源檔的法文文化特性版本 (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

另請參閱