2008-09-18 17 views
11

Bir. Net 2 winforms uygulamasında, tüm uygulama için kültürü ayarlamanın iyi bir yolu nedir?
CurrentThread.CurrentCulture öğesinin her yeni iş parçacığı için yinelenen ve hataya açık olduğunu ayarlama.
İdeal olarak, uygulama başladığında ve unuttuğunda bunu ayarlamak istiyorum.Tüm uygulama için CurrentCulture'ı ayarlamanın kolay yolu?

+3

Bu muhtemelen eski bir haber, ancak bu (http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.defaultthreadcurrentculture ([bağlantıya bakınız] .NET 4.5 istediğini yapmak mümkün .aspx)). Muhtemelen 'DefaultThreadCurrentUICulture' ve 'DefaultThreadCurrentCulture' – nooblar

+1

'u ayarlamanız gerekiyor. Bu konunun oldukça eski olduğunu biliyorum ama tüm yeni gelenler şunları görebilir: http://stackoverflow.com/questions/28426349/custom-format-for-entire-application – Tariktiri

cevap

12

.NET'de bir iş parçacığı kültürü, sistemin kültürüdür (tek bir uygulama/işlem tarafından görüntülendiği gibi). Bunu .NET'te geçersiz kılmanın bir yolu yoktur, her yeni iş parçacığı için CurrentCulture'ı ayarlamaya devam etmeniz gerekir. Ben parçacığı ile test hiç çünkü

static void Main() 
{ 
    System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("fi-FI"); 
    Application.CurrentCulture = cultureInfo; 
    Application.EnableVisualStyles(); 
    Application.SetCompatibleTextRenderingDefault(false); 
    Application.Run(new Form1()); 
} 

Ben yardımcı olur emin değilim:

+2

> sistem için kültür kesinlikle konuşuyoruz, mevcut kullanıcının bölgesel ayarlarına karşılık gelen kültür. – Joe

1

Sen uygulaması geçerli kültürünü bu şekilde ayarlayabilirsiniz.

düzenleme: çalışmıyor. Her kültürde güncel kültürü ayarlaman gerektiğini düşünüyorum.

+2

Çözümünüzü denedim ve fark yaratmadı. –

+4

'Application.CurrentCulture' delegesi' Thread.CurrentThread.CurrentCulture' için yalnızca uygulamanın ana iş parçacığı için ayarlar. – adrianbanks

İlgili konular