我正在研究大多数模块都在使用一些常见形式的项目。因此,我打算在单独的资源文件中保留主要更改,使该表单可以本地化,并使用不同的语言进行重大更改,我可以使代码部分相同,只需在设计器文件中工作。
表单使用Assembly.CreateInstance
方法调用。虽然我没有成功,但我注意到可以选择在CultureInfo
方法中传递CreateInstance
。
myAssembly.CreateInstance("Facts.Forms." + strSomeFormName ,true
,BindingFlags.Default, null, null,
new System.Globalization.CultureInfo("en-ZW"), null);
我错过了什么吗?有没有办法实现这个?
答案 0 :(得分:1)
不,这不是CultureInfo参数在该调用中的作用。当需要转换类型时,它仅用于 args 参数。例如,从字符串到双精度,对文化敏感的转换。在您的情况下它完全没有效果,因为您为该参数传递了 null 。
Winforms只关注Thread.CurrentThread.CurrentUICulture属性,以选择包含本地化资源的附属程序集。您可以在拨打电话前指定它。