My.Resources 物件

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

備註

My.Resources 物件會提供對應用程式資源的存取,並讓您動態擷取應用程式的資源。 如需詳細資訊,請參閱 管理應用程式資源

My.Resources 物件只會公開 (Expose) 全域資源。 它不會提供與表單相關之資源檔的存取。 您必須從表單存取表單資源。 如需詳細資訊,請參閱逐步解說:將 Windows Form 當地語系化

您可以從 My.Resources 物件存取應用程式之文化特性 (Culture) 特有的資源檔。 根據預設,My.Resources 物件會在符合 UICulture 屬性內文化特性的資源檔中查詢資源。 不過,您可以覆寫這個行為,並指定要針對資源使用哪一個特定的文化特性。 如需詳細資訊,請參閱 桌面應用程式中的資源

屬性

My.Resources 物件的屬性提供對應用程式資源的唯讀存取。 若要新增或移除資源,請使用 [專案設計工具]。 如需詳細資訊,請參閱 HOW TO:加入或移除資源。 您可以使用 My.Resources.resourceName,存取透過 [專案設計工具] 加入的資源。

您也可以用另一種方法新增或移除資源檔,此方法就是在 [方案總管] 中選取您的專案,然後按一下 [專案] 功能表中的 [加入新項目] 或 [加入現有項目]。 您可以使用 My.Resources.resourceFileName.resourceName,存取透過這種方式加入的資源。

每個資源都會有一個名稱、分類和值,這些資源設定將會決定存取資源的屬性在 My.Resources 物件中的顯示方式。 若是在 [專案設計工具] 中加入的資源:

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

  • 資源資料即為屬性的值。

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

分類

屬性資料型別

字串

字串

影像

Bitmap

圖示

Icon

音訊

UnmanagedMemoryStream

由於 UnmanagedMemoryStream 類別衍生自 Stream 類別,所以它能和使用資料流的方法 (如 Play 方法) 一起使用。

檔案

其他

由設計工具之 [類型] 行中的資訊決定。

類別

My.Resources 物件會將每個資源檔公開為具有共用屬性的類別。 類別名稱會與資源檔的名稱相同。 如上節所述,資源檔中的資源會公開為類別中的屬性。

範例

本範例將設定指定的字串資源的表單標題Form1Title應用程式資源檔中。 本範例正常執行,應用程式必須包含名為Form1Title在它的資源檔。 如需詳細資訊,請參閱 HOW TO:加入或移除資源

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

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

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

本範例正常執行,應用程式必須包含名為Message在它的資源檔,以及應用程式應該有該資源檔案中,Resources.fr FR.resx 的法文文化特性版本。 如需詳細資訊,請參閱 HOW TO:加入或移除資源。 如果應用程式並沒有法文文化特性的資源檔案版本, 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

請參閱

工作

HOW TO:加入或移除資源

逐步解說:將 Windows Form 當地語系化

概念

桌面應用程式中的資源

其他資源

管理應用程式資源