vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Sprache wechseln 
Autor: kbs170
Datum: 17.12.07 15:04

>>Oder du machst das alles selber und musst Code schreiben um alle Text-Items zur Laufzeit zu ersetzen.

Genau das habe ich jetzt gemacht:

    Private Sub mnuLanguageEnglish_Click(ByVal sender As System.Object, ByVal e _
      As System.EventArgs) Handles mnuExtrasLanguageEnglish.Click
        ' im Menüpunkt das Häkchen auf hier:Englisch setzen
        Me.mnuExtrasLanguageEnglish.Checked = Me.changeLanguage()
        ' Region und Sprache global umstellen (gilt ab hier für alle neu 
        ' erstellten Objekte)
        Thread.CurrentThread.CurrentUICulture = New CultureInfo("en-GB")
        ' Dies gilt aber nicht für bereits erzeugte Objekte, deshalb müssen 
        ' alle Controls dieser Objekte aufgefrischt werden.
        ' Dies muss für alle Elemente-Klassen (Control, ToolStripMenuItem, 
        ' ToolStripDropDown etc.) und für jede geschachtelte Ebene getrennt 
        ' erfolgen!
        ' Mein Beispiel enthält nur das ToolStripMenu in der ersten und dann 
        ' ToolStripDropDown in allen folgenden Ebenen.
        RefreshLanguageInMainMenu()
    End Sub
 
    Private Sub RefreshLanguageInMainMenu()
        ' Neues Objekt, dass die sprachlich passenden Strings für das Form 
        ' bereit stellt
        Dim Resource As ResourceManager = New ResourceManager(Me.GetType())
        ' in diesem 1. Schritt wird nur die Kopfzeile des Menüs aktualisiert
        For Each MainMenu As ToolStripMenuItem In Me.MainMenuStrip.Items
            MainMenu.Text = Resource.GetString(MainMenu.Name + ".Text")
            ' hier im 2. bis x-ten Schritt wird das jeweilige DropDown Menü 
            ' aktualisiert
            LooopRefreshDropDown(MainMenu, Resource)
        Next
    End Sub
 
    Private Sub LooopRefreshDropDown(ByVal MainMenu As ToolStripMenuItem, ByVal _
      Resource As ResourceManager)
        ' hier im 2. bis x-ten Schritt wird das jeweilige DropDown Menü 
        ' aktualisiert
        For Each DropDown As Object In MainMenu.DropDownItems
            DropDown.Text = Resource.GetString(DropDown.Name + ".Text")
            ' wenn es kein DropDown Menü gibt, wird der daraus erzeugte Fehler 
            ' abgefangen und damit auch gleich die Endlosschleife abgebrochen
            Try
                LooopRefreshDropDown(DropDown, Resource)
            Catch ex As Exception
            End Try
        Next
    End Sub

MfG
Tim

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Sprache wechseln7.161kbs17014.12.07 19:32
Re: Sprache wechseln5.649Moderatorralf_oop14.12.07 22:11
Re: Sprache wechseln5.672kbs17017.12.07 08:44
Re: Sprache wechseln5.553Melkor14.12.07 22:28
Re: Sprache wechseln5.582Sword14.12.07 22:57
Re: Sprache wechseln5.577mikeb6914.12.07 23:13
Re: Sprache wechseln5.578Sword14.12.07 23:15
Re: Sprache wechseln5.602Moderatorralf_oop15.12.07 09:59
Re: Sprache wechseln5.790kbs17017.12.07 08:41
Re: Sprache wechseln5.582Melkor17.12.07 08:53
Re: Sprache wechseln5.580kbs17017.12.07 09:28
Re: Sprache wechseln5.583Melkor17.12.07 09:57
Re: Sprache wechseln5.602kbs17017.12.07 10:09
Re: Sprache wechseln5.747kbs17017.12.07 15:04

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel