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

[复制链接]
查看11 | 回复3 | 2013-4-16 17:44:57 | 显示全部楼层 |阅读模式
我在程序里使用了dev控件,程序还要求实现多语言,我的方法是把对应的语言内容存在xml文件中,从xml中读到hashtable,然后在模式窗口的listbox选取语言,传值给主界面,遍历主界面的control,如果hashtable里有这个control的名字就赋对应的text值,VS自带的控件都没问题,可是dev控件如XtraNavBarGroup这样的如何遍历的到,另外如何赋caption值

回复

使用道具 举报

千问 | 2013-4-16 17:44:57 | 显示全部楼层
好吧,同求,不过遍历DEV的控件很简单,就是在caption的时候出问题,table中间只有两列分别是name和text,xml中间指定caption的话就会提示未将对象设置引用到实例,目前我也很纠结,不知道怎么做
if (control.GetType() == typeof(DevExpress.XtraEditors.PanelControl))
GetSubControls(control.Controls, table);
if (control.GetType() == typeof(DevExpress.XtraEditors.G...
回复

使用道具 举报

千问 | 2013-4-16 17:44:57 | 显示全部楼层
这个时候要是想更改caption,那么你就必须知道他的上下子集ribbon的子集是ribbonpageribbonpage 的子集是ribbonpageGroup你所说的那些caption的是ribbonpageGroup的子集所以只需套几个循环就可以了foreach (Control item in this.Controls)...
回复

使用道具 举报

千问 | 2013-4-16 17:44:57 | 显示全部楼层
多语言应该使用资源文件才对,你自己提供多语言框架的话会和有些控件不兼容...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行