2

私は、ほとんどのモジュールがいくつかの一般的なフォームを使用しているプロジェクトに取り組んでいます。そのため、主要な変更を個別のリソース ファイルに保持して、そのフォームをローカライズし、主要な変更には異なる言語を使用して、コード部分を同じにして、デザイナー ファイルでのみ作業する必要があるようにする予定です。

メソッドを使用してフォームを呼び出していAssembly.CreateInstanceます。成功しませんでしたがCultureInfoCreateInstanceメソッドに を渡すオプションがあることに気付きました。

myAssembly.CreateInstance("Facts.Forms." + strSomeFormName ,true
                ,BindingFlags.Default, null, null,
              new System.Globalization.CultureInfo("en-ZW"), null);

何か不足していますか?これを実装する方法はありますか?

4

1 に答える 1

1

いいえ、それはその呼び出しでCultureInfo引数が行うことではありません。型を変換する必要がある場合にのみ、args引数に使用されます。たとえば、文字列からdoubleへの変換、文化に敏感な変換。その引数にnullを渡したので、あなたの場合はまったく効果がありません。

Winformsは、ローカライズされたリソースを含むサテライトアセンブリを選択するために、Thread.CurrentThread.CurrentUICultureプロパティのみに注意を払います。この呼び出しを行う前に割り当てることができます。

于 2012-12-27T15:11:23.190 に答える