用户控件是否能实现多国语言?????????
.net中对于普通控件,比如Label控件,可以实现多国语言,对窗体的Language切换,比如在“中文(简体)”中设置Label的text属性为“中文”,在“英文(美国)”中设置为“English”,那么切换Language后会显示不同的text属性值。
但是在用户控件中,我包含有Label控件,并且我自己做了个属性对Label的text进行设置,但是在使用用户控件的窗体,使用多国语言时,用户控件不会在不同的语言显示不同内容,比如我在“英文(美国)”里设置text为“English”,这个时候Language切换到“中文(简体)”后,text也变成“English”了,
'
'UserControl11
'
Me.UserControl11.AccessibleDescription = Nothing
Me.UserControl11.AccessibleName = Nothing
resources.ApplyResources(Me.UserControl11, "UserControl11")
Me.UserControl11.BackgroundImage = Nothing
Me.UserControl11.Ctxt = "English"
Me.UserControl11.Name = "UserControl11"
UserControl11.Ctxt是用户控件的一个属性,Form1.Designer代码里已经使用了资源文件:
resources.ApplyResources(Me.UserControl11, "UserControl11")
但是在资源文件里没有.Ctxt的值,只有基本属性的值(button1.text可以自动生成资源文件),下面是Form1.en-US.resx文件
宋体, 12pt
47, 44
4, 4, 4, 4
201, 146
Inherit
English
问怎么才能让用户控件支持多国语言?也就是让用户控件的属性像其他基本控件的属性一样,显示在资源文件里
--------------------编程问答--------------------
想法不错,这样的话意味着所有的属性、事件、方法都要自己写,还要写一个翻译功能,对选择不同的语言进行翻译。
--------------------编程问答--------------------
没有人这样用过用户控件吗
--------------------编程问答--------------------
参与者都有分,马上要结贴了。。。。
--------------------编程问答--------------------
楼主实现了吗?如果实现了,分享一下。
--------------------编程问答--------------------
可以应该是可以 你自己封装一个BaseUserControl 然后封装自己的一些属性和逻辑再配合国际化应该就好了
晚上回去试下
--------------------编程问答--------------------
wpf的绑定可以自动更新界面.只需要改txt.
--------------------编程问答--------------------
可以的哦,你必须编译多套不同版本语言的DLL。不同语言不只是显示不同,而且不是简单的翻译。
如Dev控件是支持多语言的,但是用户输入的数据时不支持的。
如果楼主能实现,望共享,膜拜下
--------------------编程问答--------------------
想法是好,如果自己做出来共享更好,我只看过源码工具转义的,还没看过控件实现转义的,等待LZ的结果
--------------------编程问答--------------------
貌似微软的一些网页就可以选择语言,然后把控件文本转换为选择的语言。
比如中英转换,你可以在各种控件的文本准备中英两套文本,然后触发事件两套语言之间转换就可以。貌似这种转换工作比较繁杂
--------------------编程问答--------------------
问题没有完美解决,现在是把不同的语言做成XML文件,切换语言时动态加载xml文件。这样有个不方便的地方是,不同语言翻译的长度不一样,还得控制控件的位置,比较麻烦。
用vs的多国语言,切换到不同语言时可以调整界面控件位置,而且会记录到资源文件里。这个比较好,不同的语言界面都可以调整到适合的位置。
--------------------编程问答--------------------
楼主解决了吗?挺想学习一下的
--------------------编程问答--------------------
求结贴
http://bbs.csdn.net/topics/390654837
补充:.NET技术 , C#