在.NET中WinForm要实现多语言版本,其原理也是用Resource资源文件存到不同的语言环境下的文字描述.不过使用IDE既可以实现,相对WebForm中窗体上的文字描述,不需要手工的编写代码,不过其后台代码中的文字描述还需要手工编写码来实现.
新建一个.NET的Windows工程,默认有一个窗体Form1,拖一个Label到窗体上,Label的默认Name为"Label",现在就以Label上实现多语言来说明,WinForm实现多语言的操作.
打开Form1,选中Label,F4,在属性中找到Text属性,改变该属性值为"您好!",即在默认语言环境下该Label会显示您好!".
选中Form,F4,在属性中找到Language属性,选择要添加的语言,如English(United Kingdom),则IDE回自动为该窗体添加一个名为"Form1.en-GB.resx"文件.
在当前语言环境English(United Kingdom)下,选中Label,F4,在属性中找到Text属性,改变该属性值为"Hello!",即在English(United Kingdom)语言环境下该Label会显示Hello!".
要改变当前应用环境的语言环境的设置,则该设置在以后显示的Form中才会生效,因此最好在应用环境启动时就改变当前应用程序的语言环境,即在static void Main()中改变,代码实现如下:
[STAThread]
static void Main()
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");//en-GB
...
Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");是改变当前应用程序的语言环境,默认为当前系统的语言环境,new CultureInfo("zh-CN")请参考MSDN或其他资料.
对于代码中文字描述,要实现多语言,请参考我的另外一篇文章,http://blog.csdn.net/zjyong0123/services/trackbacks/446256.aspx