c 用户控件 多语言,用户控件是否能实现多国语言?????????

博客围绕.NET中用户控件实现多国语言展开。普通控件可通过切换Language显示不同文本,但用户控件存在问题。大家探讨多种解决思路,如封装BaseUserControl、编译多套语言DLL、准备多套文本触发转换等,最终有人采用动态加载XML文件,但存在控件位置控制麻烦的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用户控件是否能实现多国语言?????????

.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 然后封装自己的一些属性和逻辑再配合国际化应该就好了

晚上回去试下

604e59fd8ca822760c9040785163d38c.gif

--------------------编程问答--------------------

wpf的绑定可以自动更新界面.只需要改txt.

--------------------编程问答--------------------

可以的哦,你必须编译多套不同版本语言的DLL。不同语言不只是显示不同,而且不是简单的翻译。

如Dev控件是支持多语言的,但是用户输入的数据时不支持的。

如果楼主能实现,望共享,膜拜下

--------------------编程问答--------------------

想法是好,如果自己做出来共享更好,我只看过源码工具转义的,还没看过控件实现转义的,等待LZ的结果

--------------------编程问答--------------------

貌似微软的一些网页就可以选择语言,然后把控件文本转换为选择的语言。

比如中英转换,你可以在各种控件的文本准备中英两套文本,然后触发事件两套语言之间转换就可以。貌似这种转换工作比较繁杂

--------------------编程问答--------------------

问题没有完美解决,现在是把不同的语言做成XML文件,切换语言时动态加载xml文件。这样有个不方便的地方是,不同语言翻译的长度不一样,还得控制控件的位置,比较麻烦。

用vs的多国语言,切换到不同语言时可以调整界面控件位置,而且会记录到资源文件里。这个比较好,不同的语言界面都可以调整到适合的位置。

--------------------编程问答--------------------

楼主解决了吗?挺想学习一下的

--------------------编程问答--------------------

求结贴

http://bbs.csdn.net/topics/390654837

补充:.NET技术 , C#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值