在工作線程中引發事件時是否可以更改主線程的CurrentUICulture?從工作線程改變主線程的CultureInfo
代碼ilustration:
static void Main()
{
//do something
Thread workerThread = new Thread(new ThreadStart(DoWork));
workerThread.Start();
//do something
}
void DoWork()
{
ConnectDatabase();
//do some work
ChangeLanguage(lang);
}
void ChangeLanguage(string lang)
{
//this line changes Culture only for worker thread
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CreateSpecificCulture(lang);
}
您能指出_why_線程是否必須更改主線程的屬性?這聽起來像是一個非常糟糕的設計。也許更好地退後一步,尋找更好的解決方案來解決實際問題。 – 2010-07-21 08:06:47
它的WinForm客戶端應用程序,它具有存儲在數據庫中的用戶設置。工作線程連接數據庫(這需要一些時間)。連接成功後,應用程序應根據用戶設置設置語言。 – Michal 2010-07-21 08:23:35