使用资源文件实现窗体多国语言版本
//定义语言类型,或定义一个枚举类型
public static int LanguageType=1;
public static System.Globalization.CultureInfo currentCulture;
public static void ChoiceLanguage(System.Windows.Forms.Form frm)
{
System.Resources.ResourceManager rm;
rm=new System.Resources.ResourceManager("PutPCProject.Resource.Strings",frm.GetType().Assembly);
if(LanguageType == 0)
{
currentCulture=System.Globalization.CultureInfo.CurrentCulture;
SetForms(frm,rm);
}
if(LanguageType == 1)
{
currentCulture=new System.Globalization.CultureInfo("en-US");
SetForms(frm,rm);
}
}
private static void SetForms(System.Windows.Forms.Form frm,System.Resources.ResourceManager rm)
{
SetControl(frm,rm);
}
private static void SetControl(Control control,System.Resources.ResourceManager rm)
{
string values=null;
values=rm.GetString(control.Name,currentCulture);
if(values != null)
{
control.Text=values;
}
if(control.Controls.Count > 0)
{
for(int i=0;i<control.Controls.Count;i++)
{
SetControl(control.Controls[i],rm);
}
}
}
在窗体登陆事件中调用ChoiceLanguage方法
ChoiceLanguage(this);