C#でWindowsフォームプログラムを作成しました。ローカリゼーションにいくつか問題があります。私は2つの言語(1つは英語、もう1つはフランス語)のリソースファイルを持っています。実行時に各言語ボタンをクリックして言語を変更したいランタイム時にWinFormsアプリケーションのカルチャを変更する方法
ボタンをクリックしても機能しません。私はこのコードを使用しています。任意のplsはこの上で役立つだろう
private void btnfrench_Click(object sender, EventArgs e)
{
getlanguage("fr-FR");
}
private void getlanguage(string lan)
{
foreach (Control c in this.Controls)
{
ComponentResourceManager cmp =
new ComponentResourceManager(typeof(BanksForm));
cmp.ApplyResources(c, c.Name, new CultureInfo(lan));
}
}
......
多くのおかげで....
申し訳ありませんが、これを試してみましたが、私にとってはうまくいきません。 –
フォームにリソースファイルを追加する必要があります。ローカリゼーションプロパティをtrueに変更し、英語をベルギー語に変更しましたが、私は選択しました...そして私は余分なリソースファイルがフォームに追加されるのを見ています... –
あなたはそれを開始していないし、切り替える方法を知りたいですか? 「私が選択した言語を表示していない」とはどういう意味か分かりません。プロパティを編集する必要があります。 Languageプロパティを変更した後、たとえば、フォームのTextプロパティを設定します。これにより自動的にForm1.fr-BE.resxファイルが作成されます。フォームの横にあるノードを開き、ノードを表示します。 –