winform改变语言后,窗体布局错乱问题

terrytan 2008-03-11 02:48:02
一个winfrom窗体程序,比如已有一个窗体为:abc.frm.cs,并且已经添加了韩语对应文件:abc.ko-KR.resx。
所有窗体韩语对应文件都已经存在。
在main()中加入:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("ko-KR");
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("ko-KR");
编译一个Release_ko-KR版本后运行。
现象:窗体中绝大部分空间的语言正常改变为韩语,包括Button,Label等,但是就是有一个部分控件语言不对,
还是以前的语言,并且窗体布局乱了,比如以前都是对齐的,现在有好多控件布局混乱了。而且有部分标签没有
显示出来(明明在ko-KR.resx资源文件有,就有这个标签的对应韩语)。
想请问各位高手:
1.这种想做成韩语版的做法是不是正确?
2.如果正确,为什么布局会改变?
3.如果解决这个问题,是需要重新改变窗体布局吗?如果重新调整布局,也没有办法啊,因为在VS2005设计器中是
正确的布局啊。
ps:默认是日文版,想做成韩语版
...全文
675 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
terrytan 2008-03-13
  • 打赏
  • 举报
回复
现在程序没有问题了,呵呵,是我自己的操作失误,我也搞不明白为什么。
如果:在Program.cs中添加
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ko-KR");
然后Releasey一个韩语版之后,就有问题,布局是错乱的,并且有些标签显示错误。
但是如果是:
在main()中加入:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("ko-KR");
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("ko-KR");
然后Debug,一点问题都没有!

感谢热心的朋友的回复,所以来反馈一下。
lextm 2008-03-13
  • 打赏
  • 举报
回复
这个实在是太正常了。真正的要切换到另外一个语言,一定要同时将CurrentCulture和CurrentUICultrue都切换过去,不然确实会有一些怪怪的问题。
美媛依依 2008-03-11
  • 打赏
  • 举报
回复
我也发现了这个问题,我改变了界面的语言类型,结果窗体的大小以及控件的大小都变了,我的做法是在手动调整各个控件位置及大小,不知大家有什么更好的方法,我的程序是中英文的
whushuguang 2008-03-11
  • 打赏
  • 举报
回复
有一后缀名为resx 的文件, lz在这个里面找找, 看有没有什么错误的布局
terrytan 2008-03-11
  • 打赏
  • 举报
回复
伤心啊,失望啊。。。
terrytan 2008-03-11
  • 打赏
  • 举报
回复
我靠,csdn也沉的太快了吧,我这开始处女贴啊。。。
顶上去

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧