Dela via


My.Resources-objekt

Tillhandahåller egenskaper och klasser för åtkomst till programmets resurser.

Kommentarer

Objektet My.Resources ger åtkomst till programmets resurser och gör att du dynamiskt kan hämta resurser för ditt program. Mer information finns i Hantera programresurser (.NET).

Objektet My.Resources exponerar endast globala resurser. Den ger inte åtkomst till resursfiler som är associerade med formulär. Du måste komma åt formulärresurserna från formuläret.

Du kan komma åt programmets kulturspecifika resursfiler från objektet My.Resources . Som standard My.Resources letar objektet upp resurser från resursfilen som matchar kulturen i UICulture egenskapen. Du kan dock åsidosätta det här beteendet och ange en viss kultur som ska användas för resurserna. Mer information finns i Resurser i .NET-appar.

Egenskaper

Egenskaperna för My.Resources objektet ger skrivskyddad åtkomst till programmets resurser. Om du vill lägga till eller ta bort resurser använder du Projektdesignern. Du kan komma åt resurser som lagts till via Projektdesignern med hjälp My.Resources.av resourceName.

Du kan också lägga till eller ta bort resursfiler genom att välja projektet i Solution Explorer och klicka på Lägg till nytt objekt eller Lägg till befintligt objektProjekt-menyn . Du kan komma åt resurser som läggs till på det här sättet med hjälp My.Resources.av resourceFileName.resourceName.

Varje resurs har ett namn, en kategori och ett värde, och dessa resursinställningar avgör hur egenskapen för att komma åt resursen visas i My.Resources objektet. För resurser som lagts till i Projektdesignern:

  • Namnet avgör namnet på egenskapen,

  • Resursdata är värdet för egenskapen,

  • Kategorin avgör typen av egenskap:

Kategori Egenskapsdatatyp
Strängar Sträng
Bilder Bitmap
Ikoner Icon
Ljud UnmanagedMemoryStream

Klassen UnmanagedMemoryStream härleds från klassen, så den Stream kan användas med metoder som tar strömmar, till exempel Play metoden.
Filer - Sträng för textfiler.
- Bitmap för bildfiler.
- Icon för ikonfiler.
- UnmanagedMemoryStream för ljudfiler.
Övrigt Bestäms av informationen i designerns typkolumn .

Klasser

Objektet My.Resources exponerar varje resursfil som en klass med delade egenskaper. Klassnamnet är samma som namnet på resursfilen. Enligt beskrivningen i föregående avsnitt exponeras resurserna i en resursfil som egenskaper i klassen.

Exempel 1

I det här exemplet anges namnet på ett formulär till strängresursen med namnet Form1Title i programresursfilen. För att exemplet ska fungera måste programmet ha en sträng med namnet Form1Title i resursfilen.

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

Exempel 2

I det här exemplet anges ikonen för formuläret till ikonen med namnet Form1Icon som lagras i programmets resursfil. För att exemplet ska fungera måste programmet ha en ikon med namnet Form1Icon i resursfilen.

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

Exempel 3

I det här exemplet anges bakgrundsbilden av ett formulär till avbildningsresursen med namnet Form1Background, som finns i programresursfilen. För att det här exemplet ska fungera måste programmet ha en avbildningsresurs med namnet Form1Background i resursfilen.

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

Exempel 4

Det här exemplet spelar upp ljudet som lagras som en ljudresurs med namnet Form1Greeting i programmets resursfil. För att exemplet ska fungera måste programmet ha en ljudresurs med namnet Form1Greeting i resursfilen. Metoden My.Computer.Audio.Play är endast tillgänglig för Windows Forms-program.

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

Exempel 5

Det här exemplet hämtar den franska kulturversionen av en strängresurs i programmet. Resursen heter Message. Om du vill ändra kulturen som My.Resources objektet använder använder ChangeUICultureexemplet .

För att det här exemplet ska fungera måste programmet ha en sträng med namnet Message i resursfilen och programmet ska ha den franska kulturversionen av resursfilen Resources.fr-FR.resx. Om programmet inte har den franska kulturversionen av resursfilen My.Resource hämtar objektet resursen från resursfilen default-culture.

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

Se även