vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: huber4
Datum: 14.03.12 08:32

Ich habe auch andere Sachen in der XML-Datei gespeichert und da diese sowieso existiert, habe ich die Ländercodes dort auf reingepackt.

Von den Settings halte ich nicht so viel, für ein Programm, dass von mehreren Usern angewendet werden soll. Ist mir irgendwie unsympathisch.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: huber4
Datum: 13.03.12 09:17

Hallo,

und zwar möchte ich ein mehrsprachiges Programm schreiben. So, klappt alles perfekt mit diesem Code:

 Public Sub New()
 
        My.Application.ChangeUICulture("de")
        My.Application.ChangeCulture("de-DE")
        InitializeComponent()
 
    End Sub
Jedoch weiß ich nicht, welche Sprache der User eingestellt hat. Beim Login wird dieser aus einer XML-Datei ausgelesen und in der Main-Form dargestellt:

lblShowLanguage: Zeigt die Sprache des Users an (Main)
lblShowUICulture: Zeigt den UICulture des Users an (Main)
lblShowCulture: Zeigt die Culture des Users an (Main)

was auch funktioniert.


Wenn ich folgendes probiere, kommt aber ein Fehler (Dieser Code steht in der Main-Form, welche geladen werden soll):

 Public Sub New()
 
        My.Application.ChangeUICulture(lblShowUICulture.Text)
        My.Application.ChangeCulture(lblShowCulture.Text)
        InitializeComponent()
 
    End Sub
Fehler in der Login-Form:

InvalidOperationException: Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt..

Der Fehler passiert bei "frmMain.Show":

 Private Sub Testlogin_Click(sender As System.Object, e As System.EventArgs) _
   Handles Testlogin.Click
 
        frmMain.Show()
        Me.Hide()
 
    End Sub
Hoffe ihr könnt mir da helfen.

Lg

Beitrag wurde zuletzt am 13.03.12 um 09:22:52 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: ModeratorFZelle (Moderator)
Datum: 13.03.12 09:30

Da die TextBoxen erst in InitializeComponent erstellt werden ist das auch verständlich.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: huber4
Datum: 13.03.12 10:10

Habs jetzt umgedreht. Jetzt kommt zwar kein Fehler, aber er nimmt die angegebene Sprache nicht (sollte Englisch sein, kommt aber in Deutsch)

Public Sub New()
 
        InitializeComponent()       
        My.Application.ChangeUICulture(lblShowUICulture.Text)
        My.Application.ChangeCulture(lblShowCulture.Text)
 
 
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: ModeratorFZelle (Moderator)
Datum: 13.03.12 10:24

Da hast du dann aber auch etwas falsch verstanden.

Deine TextBox wird in InitializeComponent angelegt und initialisiert, aber da werden auch die Sprachdaten geladen.
Du musst also den Ländercode wo anders her holen.

Da der ja nicht magisch erscheint, hast du ihn ja scheinbar schon irgendwo gespeichert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: huber4
Datum: 13.03.12 10:31

Achso okay. Ja ich habe den Ländercode in einer XML Datei gespeichert. Wo sollte ich den am besten das ganze machen?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: ModeratorFZelle (Moderator)
Datum: 13.03.12 11:29

So früh wie nötig.

Und wieso eine extra xml Datei?
Warum nicht die Application Settings?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: huber4
Datum: 14.03.12 08:49

Habs gelöst indem ich 2 Labels beim Login Bildschirm mit den Werten aus dem XML File fülle und diese Werte dann weitergebe.

Danke dir jedenfalls.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: ModeratorFZelle (Moderator)
Datum: 14.03.12 10:10

Man sollte die Daten nicht in irgendwelchen UI Elementen hosten
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: huber4
Datum: 14.03.12 10:12

Warum nicht?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: keco
Datum: 14.03.12 10:31

Aus dem gleichen Grund, weshalb man idealerweise zu Hause Ordnung hält.

Es gibt zwei Orte: zum einen der Ort, wo die Daten sind und zum anderen der Ort, wo die Daten gebraucht werden. Für den ersten dient eine beliebige Klasse und für den zweiten das UI-Element

Wie zu Hause: Bücher (Daten) befinden sich im Bücherregal (Datenklasse). Willst du eines lesen, nimmst du es heraus und setzt dich aufs Sofa (UI-Element). Wer käme auf die Idee ein Buch (also die Daten) beim Sofa (also dem UI-Element) zu suchen, wenn es ein Bücherregal (also eine Datenklasse) gibt?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Mehrsprachige Anwendung: UICulture aus Label lesen 
Autor: ModeratorDaveS (Moderator)
Datum: 14.03.12 10:35

Wer käme auf die Idee ein Buch beim Sofa zu suchen

Naja, ich schon

Aber man kann Bücher zum Thema schreiben, dass man die Werkzeuge richtig einsetzen sollte. Eigentlich hat man ja schon.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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-2024 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