Ho una situazione in cui ho bisogno di impostare il mio processo 'locale in en-US.Come posso modificare CurrentCulture dell'intero processo (non solo il thread corrente) in .Net?
so come fare questo per il thread corrente:
System.Threading.Thread.CurrentThread.CurrentCulture =
System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
Ma la mia applicazione utilizza BackgroundWorkers
a fare un po 'di elaborazione, e il locale per questi thread di lavoro sembra non risentire della modifica sopra alla loro spawning main-thread.
Quindi, come posso impostare le impostazioni internazionali per tutti i thread nella mia applicazione senza impostarla manualmente in ciascuna di esse?
Il lavoratore sfondo può benissimo essere in esecuzione nello strato UI (come componente 'BackgroundWorker' su un' modulo 'ad esempio) –
@ Fredrik- Sì (soprattutto se è il componente Background Worker), ma non si aggiorna l'interfaccia utente sul thread di lavoro in background. Almeno non lo fai se lo stai usando correttamente. – RichardOD
L'operatore in background esegue double.Parse (stringa) su un input, che si interrompe per alcune impostazioni locali con rappresentazioni di punti decimali. Quindi, ho ancora bisogno di sapere come impostare le impostazioni internazionali per l'intero processo. Stai dicendo che questo non è possibile? –