在创建表单实例时应用CulutureInfo

时间:2012-12-27 09:28:53

标签: c# .net-assembly

我正在研究大多数模块都在使用一些常见形式的项目。因此,我打算在单独的资源文件中保留主要更改,使该表单可以本地化,并使用不同的语言进行重大更改,我可以使代码部分相同,只需在设计器文件中工作。

表单使用Assembly.CreateInstance方法调用。虽然我没有成功,但我注意到可以选择在CultureInfo方法中传递CreateInstance

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

我错过了什么吗?有没有办法实现这个?

1 个答案:

答案 0 :(得分:1)

不,这不是CultureInfo参数在该调用中的作用。当需要转换类型时,它仅用于 args 参数。例如,从字符串到双精度,对文化敏感的转换。在您的情况下它完全没有效果,因为您为该参数传递了 null

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