J'ai une situation dans laquelle je dois définir les paramètres régionaux de mon processus sur en-US.Comment puis-je changer la CurrentCulture de l'ensemble du processus (pas seulement thread en cours) dans .Net?
Je sais comment faire pour le thread courant:
System.Threading.Thread.CurrentThread.CurrentCulture =
System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
Mais mon application utilise BackgroundWorkers
pour faire un peu de traitement, et les paramètres régionaux pour ces threads de travail ne semble pas être affecté par le changement ci-dessus à leur fil principal de frai.
Alors, comment puis-je définir les paramètres régionaux pour tous les threads dans mon application sans le définir dans chacun manuellement?
Le travailleur de fond peut très bien être en cours d'exécution dans la couche d'interface utilisateur (comme un composant 'BackgroundWorker' sur un formulaire' par exemple) –
@ Fredrik- Oui (surtout s'il s'agit du composant Background Worker), mais vous ne mettez pas à jour l'interface utilisateur sur le thread de travail en arrière-plan. Au moins vous ne le faites pas si vous l'utilisez correctement. – RichardOD
L'opérateur d'arrière-plan double.Parse (chaîne) sur une entrée, ce qui casse pour certains paramètres régionaux qui ont des représentations de point décimal bizarres. Donc, j'ai encore besoin de savoir comment définir les paramètres régionaux pour l'ensemble du processus. Voulez-vous dire que ce n'est pas possible? –