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 物件中的顯示方式。若是在 [專案設計工具] 中加入的資源:
名稱會決定屬性的名稱。
資源資料即為屬性的值。
分類會決定屬性的型別:
分類 |
屬性資料型別 |
字串 |
|
影像 |
|
圖示 |
|
音訊 |
由於 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