phi_2k
Erfahrenes Mitglied
Hallo Community!
Ich habe in meiner Applikation einen "Switch" zwischen Sprachen implementiert und zwar folgendermaßen:
und der Aufruf passiert über diverse Menü-Items:
Das ganze funktioniert auch wunderbar und die Forms werden aktualisiert, nur dass sich, sobald ich die Sprache einmal gewechselt habe die Applikation nicht schliesst wenn ich im Menü das entsprechende Element wähle:
Solange man das Programm aber startet, ausführt und die Sprache nicht wechselt, beendet sich das Programm ganz normal - nur sobald eben die Sprache einmal gewechselt wurde (mittles der Methode SwitchLocale) läuft nach dem Klicken auf das Menüelement der Prozess Form1.vshost.exe weiter. Das ist eben nicht der Fall wenn die Sprache nicht gewechselt wurde.
Wer von euch kann mir sagen warum dieses Verhalten eintritt?
Ich habe in meiner Applikation einen "Switch" zwischen Sprachen implementiert und zwar folgendermaßen:
Code:
//switch the current language locale
private void SwitchLocale(String locale)
{
Point currentWindowPos = this.Location;
Size currentWindowSize = this.Size;
Thread.CurrentThread.CurrentUICulture = new CultureInfo(locale);
this.Controls.Clear();
this.Events.Dispose();
InitializeComponent();
this.Location = currentWindowPos;
this.Size = currentWindowSize;
}
und der Aufruf passiert über diverse Menü-Items:
Code:
private void deutschToolStripMenuItem_Click(object sender, EventArgs e)
{
SwitchLocale("de");
}
private void englischToolStripMenuItem_Click(object sender, EventArgs e)
{
SwitchLocale("en");
}
Das ganze funktioniert auch wunderbar und die Forms werden aktualisiert, nur dass sich, sobald ich die Sprache einmal gewechselt habe die Applikation nicht schliesst wenn ich im Menü das entsprechende Element wähle:
Code:
private void beendenToolStripMenuItem_Click(object sender, EventArgs e)
{
if(MessageBox.Show(Properties.Resources.DLG_APPLICATION_EXIT_MSG,Properties.Resources.DLG_APPLICATION_EXIT_TITLE,MessageBoxButtons.YesNo,MessageBoxIcon.Stop) == DialogResult.Yes)
Close();
}
Solange man das Programm aber startet, ausführt und die Sprache nicht wechselt, beendet sich das Programm ganz normal - nur sobald eben die Sprache einmal gewechselt wurde (mittles der Methode SwitchLocale) läuft nach dem Klicken auf das Menüelement der Prozess Form1.vshost.exe weiter. Das ist eben nicht der Fall wenn die Sprache nicht gewechselt wurde.
Wer von euch kann mir sagen warum dieses Verhalten eintritt?
