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参数。例如,从字符串到双精度数,一种文化敏感的转换。它对您的情况完全没有影响,因为您为该参数传递了null 。

Winforms 只关注 Thread.CurrentThread.CurrentUICulture 属性来选择包含本地化资源的附属程序集。您可以在拨打此电话之前分配它。

于 2012-12-27T15:11:23.190 回答