如何实现C#winform的多语言(devexpress控件)

来源:百度知道 编辑:UC知道 时间:2024/05/13 03:39:15
我在程序里使用了dev控件,程序还要求实现多语言,我的方法是把对应的语言内容存在xml文件中,从xml中读到hashtable,然后在模式窗口的listbox选取语言,传值给主界面,遍历主界面的control,如果hashtable里有这个control的名字就赋对应的text值,VS自带的控件都没问题,可是dev控件如XtraNavBarGroup这样的如何遍历的到,另外如何赋caption值

好吧,同求,不过遍历DEV的控件很简单,就是在caption的时候出问题,table中间只有两列分别是name和text,xml中间指定caption的话就会提示未将对象设置引用到实例,目前我也很纠结,不知道怎么做
if (control.GetType() == typeof(DevExpress.XtraEditors.PanelControl))
GetSubControls(control.Controls, table);
if (control.GetType() == typeof(DevExpress.XtraEditors.GroupControl))
GetSubControls(control.Controls, table);
if (control.GetType() == typeof(DevExpress.XtraBars.Ribbon.RibbonPage))
GetSubControls(control.Controls, table);
if (control.GetType() == typeof(DevExpress.XtraBars.BarButtonItem))
GetSubControls(control.Controls, table);
这样就可以遍历到DEV的控件了,但是caption的值目前没有解决方案

多语言应该使用资源文件才对,你自己提供多语言框架的话会和有些控件不兼容