0

私はc#でアプリケーションを開発しています。私のシステムの現在の言語はフランス語です。私が欲しいのは、アプリケーションを開いたときに、言語を英語に変更する必要があることです。とにかく、このタスクを実行できる方法はありますか? コードを使用して言語を変更しようとしましたが、何も機能していないようです。

これが私のコードです

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
4

4 に答える 4

0

フォームをリロードする必要があります (または、フォームを作成する前に言語を切り替える必要があります)

Thread.CurrentThread.CurrentUICulture = new CultureInfo("en");
Form1 form1 = new Form1();
form1.ShowDialog();

これは、サテライト アセンブリを使用していて、フォームが既に変換されていることを前提としています。

キーボード レイアウトを変更したい場合(FR -> EN)、それも可能ですが、変更しない方がよいでしょう。ユーザーは、デフォルトで使用したいレイアウトを好みます。

于 2014-01-30T14:10:52.930 に答える
0

ここであなたの問題を再現することはできません。メソッドの動作方法を変更するという点で、コードは正常に動作するはずDouble.Parseです。テストの方法は次のとおりです。

string duit = "1.000.100";  //this is a valid number format in my current culture
string money = "1,000,100"; //but this is not valid
var culture = CultureInfo.CurrentCulture; //my current culture is indonesia (id-ID)
var duitDouble = double.Parse(duit);  //parsed successfully
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
culture = CultureInfo.CurrentCulture;  //now current culture is english (en-US)
var moneyDouble = double.Parse(money); //parsed successfully

また、誤解を避けるために、質問とタイトルを言い換えることをお勧めします。それはあなたと助けようとする人々にとって良いことです。ご覧のとおり、投稿された回答のほとんどは、実際には質問に回答していません (実際の問題は、質問の OP の 2 番目のコメントに示されています)。

于 2014-01-30T15:35:10.633 に答える