2011-07-04 43 views
1

我可以使用C#永久更新Windows文化設置嗎?更改窗口文化設置或定義新的使用C#

或者我可以在Windows中使用C#定義新的文化?

如果是的話,也請提供C#或VB.Net的代碼。

我知道如何更改項目的文化設置。

在此先感謝。

+2

我的第一個問題將是爲什麼 - 背後是什麼?改變客戶文化環境似乎是一件壞事,所以我寧願知道這背後的目的是什麼。 –

+1

在真正改變Windows的系統區域設置/文化之前,您應該三思而後四,三次。如果你絕對必須這樣做,因爲你正在開發一個系統配置實用程序,我相信有一些Windows API的。 –

+0

我不想更改用戶的文化設置。我想添加一種永遠不會被用戶使用的新文化。但是,這將被我的軟件使用。我想在安裝時添加一種新的文化。那麼軟件將只使用該文化。我不會更改用戶的文化設置。謝謝。 –

回答

1

即使您要更改文化設置,仍然可以運行格式問題。如果用戶在Windows中更改文化的設置,您仍然不知道預期的格式化規則(格式化程序)。例如,在解析日期時間之前更改文化是一種不好的做法。如果你需要分析一個特定的格式,你可以更好地作出這樣一個格式:

dateString = "Sun 15 Jun 2008 8:30 AM -06:00"; 
format = "ddd dd MMM yyyy h:mm tt zzz"; 
try { 
    result = DateTime.ParseExact(dateString, format, provider); 
    Console.WriteLine("{0} converts to {1}.", dateString, result.ToString()); 
} 
catch (FormatException) { 
    Console.WriteLine("{0} is not in the correct format.", dateString); 
} 

良好做法是假設用戶的計算機有格式化爲特定用戶的權利。然後用戶可以使用與他使用的任何其他程序相同的格式給出這些值。