2012-09-28 66 views
0

我發現了很多關於以編程方式強制.NET WinForm程序(C#,.NET 4.5)文化的文章。以編程方式強制.NET應用程序的文化

有沒有辦法強制文化沒有代碼?

+2

更改您的計算機語言環境。 –

+0

在獲勝的表格上,到目前爲止,我知道,您不能強制文化與本地設置不同,而不添加任何代碼行。 –

+0

爲什麼你不想使用代碼?它只是一行:'Thread.CurrentThread.CurrentCulture = new CultureInfo(「pt-BR」)' –

回答

0

另一個奇怪的選擇,可能會爲你工作是創建bootstrap EXE,將設置bot的文化設置(CurrentCulture和CurrentUICulture),並加載您的實際EXE和調用正確的類的主要功能。具有僅在主線程中設置文化的所有缺點,但可能作爲權宜之計。

4

在Windows 7的程序(該對話框,名稱已被改變了許多次):

  • 開始+控制面板
  • 點擊區域和語言
  • 點擊 「管理」 選項卡
  • 單擊「更改系統區域設置」按鈕
  • 選擇以「英語」開頭並與客戶所在地相匹配的區域設置之一。

您在此之後開始的任何程序都將使用您在此對話框中選擇的默認文化進行初始化,並且將運行您的衛星程序集。

請注意,根據註釋中的建議更改Thread.CurrentThread.CurrentCulture和CurrentUICulture屬性不是真正的替代品。線程池線程仍將其自身初始化爲系統區域設置。一個非常討厭的問題,終於在.NET 4.5中修復,增加了CultureInfo.DefaultThreadCurrentCulture和DefaultThreadCurrentUICulture屬性。

請注意,許多本地Windows對話框(如MessageBox和OpenFileDialog)仍將以您的操作系統的語言顯示文本。您需要購買Windows Ultimate許可證並安裝語言包才能更改這些許可證。 MSDN訂閱是獲取用戶啓動的相同語言特定操作系統的好方法。

相關問題