2016-10-26 176 views
-6

我的編程語言C#

private void button4_Click(object sender, EventArgs e) 
 
     { 
 
      Program.keepRunnig = true; 
 
      this.Close(); 
 
      Thread.Sleep(1000); 
 
      StreamWriter stw = new StreamWriter(@"E:\NabilDataBase\ChangeFormLang\ChangeFormLang\1.txt"); 
 
      switch (Thread.CurrentThread.CurrentUICulture.IetfLanguageTag) 
 
      { 
 
       case "en-US": Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ar-IQ"); 
 

 
       //  stw.Write("ar-IQ"); 
 
      stw.Close(); 
 
        break; 
 
       case "ar-AR": Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US"); 
 
        
 
     //  stw.Write("en-US"); 
 
      stw.Close(); 
 
        break; 
 
      } 
 
      
 
      this.Controls.Clear(); 
 
      InitializeComponent(); 
 
     }

我做了一個程序的多語言界面線程類,並增加了兩個語言,我的問題是,當我更改接口以我添加另一種語言,並關閉對話框,然後我重新打開它,我看到界面恢復爲默認語言,如何在關閉時保存界面[1]

+7

複製粘貼實際的代碼,而不是圖像。 –

+0

第一個問題由社區審查否? – pix

回答

4

如果您create a new Setting「文化」,你可以在運行時像保存信息一樣:

Properties.Settings.Default.Culture= "ar-ar"; 
Properties.Settings.Default.Save(); 

並加載它,像這樣:

Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Properties.Settings.Default.Culture); 

How To: Write User Settings at Run Time with C#

+0

感謝您的努力,但我無法獲得(Properties.Settings.Default.Culture) –

+0

您必須添加文化設置才能做到這一點。 https://msdn.microsoft.com/en-us/library/25zf0ze8(v=vs.100).aspx –

+0

添加代碼後,它沒有改變語言,我怎樣才能向你發送我的代碼來幫助我。 –