2015-10-08 90 views
1

我正在爲必須將系統區域設置爲「en-US」的程序構建安裝程序。更改當前系統區域設置編程

我能夠使用以下行來讀取當前狀態:

CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture 

但是當我試圖去改變它,這是行不通的。這是我如何改變它:

if (!currentCulture.Name.Equals("en-US")) 
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 

任何建議如何正確地做到這一點? (我打算使用此安裝程序的服務器僅爲win-2012服務器)。

謝謝。

+1

也許你還想設置'Thread.CurrentThread.CurrentUICulture'。 – Silvermind

回答

0

當前文化分爲兩部分:

  1. 當前文化
  2. 當前UI區域性

爲了完全改變你必須改變兩者的文化。

閱讀MSDN後關於此。

+0

我改變了它們,仍然在代碼完成之後,在下一次運行中,系統區域設置返回到原點。 – Omer

+0

系統區域設置在重新啓動時始終返回到區域設置原點,但您必須每次在應用程序的入口點覆蓋當前區域性。但在這種情況下,你爲什麼不使用不變文化? –

+0

Botea Bogdan請您多說明一下「不變的文化」是什麼意思? – Omer

相關問題