谢谢,HI,请教一个问题,Winform程序,我用资源文件做多语言,现在我遇到一个问题,当子窗口已经打开时,这时切换语言,子窗口的语言不变,这怎么解决
Thread.CurrentThread.CurrentCulture = new CultureInfo(iLanguage.EditValue.ToString());
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
if (iLanguage.EditValue.ToString().ToUpper() == "ZH-CN")
{
DevExpress.XtraBars.Localization.BarLocalizer.Active = new DxperienceXtraBarsLocalizationCHS();
DevExpress.XtraEditors.Controls.Localizer.Active = new DxperienceXtraEditorsLocalizationCHS();
DevExpress.XtraGrid.Localization.GridLocalizer.Active = new DxperienceXtraGridLocalizationCHS();
DevExpress.XtraNavBar.NavBarLocalizer.Active = new DxperienceXtraNavBarLocalizationCHS();
DevExpress.XtraPrinting.Localization.PreviewLocalizer.Active = new DxperienceXtraPrintingLocalizationCHS();
DevExpress.XtraScheduler.Localization.SchedulerLocalizer.Active = new DxperienceXtraSchedulerLocalizationCHS();
DevExpress.XtraReports.Localization.ReportLocalizer.Active = new DxperienceXtraReportsLocalizationCHS();
DevExpress.XtraLayout.Localization.LayoutLocalizer.Active = new DxperienceXtraLayoutLocalizationCHS();
DevExpress.XtraPivotGrid.Localization.PivotGridLocalizer.Active = new DevExpress.XtraPivotGrid.Localization.PivotGridLocalizer();
DevExpress.XtraTreeList.Localization.TreeListLocalizer.Active = new DevExpress.XtraTreeList.Localization.TreeListLocalizer();
DevExpress.XtraVerticalGrid.Localization.VGridLocalizer.Active = new DevExpress.XtraVerticalGrid.Localization.VGridLocalizer();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(this.GetType());
this.Text = resources.GetString("$this.Text");
Type typeForm = this.GetType();
System.Reflection.FieldInfo[] fieldInfos = typeForm.GetFields(System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public);
foreach (System.Reflection.FieldInfo fieldInfo in fieldInfos)
{
object o = fieldInfo.GetValue(this);
if (o != null)
{
resources.ApplyResources(o, fieldInfo.Name);
}
}
}
else
{
DevExpress.XtraBars.Localization.BarLocalizer.Active = null;
DevExpress.XtraEditors.Controls.Localizer.Active = null;
DevExpress.XtraGrid.Localization.GridLocalizer.Active = null;
DevExpress.XtraNavBar.NavBarLocalizer.Active = null;
DevExpress.XtraPrinting.Localization.PreviewLocalizer.Active = null;
DevExpress.XtraScheduler.Localization.SchedulerLocalizer.Active = null;
DevExpress.XtraReports.Localization.ReportLocalizer.Active = null;
DevExpress.XtraLayout.Localization.LayoutLocalizer.Active = null;
DevExpress.XtraPivotGrid.Localization.PivotGridLocalizer.Active = null;
DevExpress.XtraTreeList.Localization.TreeListLocalizer.Active = null;
DevExpress.XtraVerticalGrid.Localization.VGridLocalizer.Active = null;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(this.GetType());
this.Text = resources.GetString("$this.Text");
Type typeForm = this.GetType();
System.Reflection.FieldInfo[] fieldInfos = typeForm.GetFields(System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public);
foreach (System.Reflection.FieldInfo fieldInfo in fieldInfos)
{
object o = fieldInfo.GetValue(this);
if (o != null)
{
resources.ApplyResources(o, fieldInfo.Name);
}
}
}