为什么添加本地化会影响窗口的布局?

时间:2022-04-13 06:04:16
NND,火死我了。

我现在写的程序,在做本地化的时候。当我把窗口language属性设置为中文后,发现窗口就自动变小,手动改回原尺寸,双击Solution Explorer里面的该窗口文件后,发现窗口尺寸又被更改。

我的子窗口是从另一个control类派生出的,继承了该control类的背景图片,位置,大小等属性。当我把该子窗口的language属性设置为中文时还好,但是当把子窗口里面的控件文本改掉后,子窗口继承来的属性似乎都失效了。背景图片丢失。而运行时发现位置属性也失效了,子窗口出现在父窗口的左上角。而我再手动更改子窗口的位置属性也无效。

有大虾解决过这个问题的嘛?我发现本地化后,程序自动生成的代码有了比较大的变化。现在我还没有头绪怎么搞定这个问题,请大家指点。

9 个解决方案

#1


精心想问题 继续关注

#2


可能你2中语言文字的Font不一样

#3


一样的,字体都设置为Tahoma, 8.25pt。

而且即使字体不对,也不应该把我继承的背景图片属性给清了啊。

#4


灵异事件
一般碰到这种情况,就把你认为可能的因素列出来,单独开一个项目来验证一下
实在不行就project打包,大家集思广益

#5


把中文字体修改大点哦]

#6


设置成等宽字体试一试。。。

#7


微软的东西有些地方确实还不能被信任,尤其是那些自动生成的东西

#8


还是仔细研究一下自动生成的代码吧,你会很有进步

#9


今天又试了一下。窗口尺寸变动的问题可以通过设置窗口的AutoScaleMode属性来解决。而子窗口位置和背景是被vs2008的自动生成的代码给设置为了0,0和null,所以需要自己手动删除form.designer.cs文件和resources.resx文件中的代码来解决,但是在对窗口属性变动后,又会自动生成代码,现在只能自己不断的修改了,好在程序已经稳定,修改的机会不多。

#1


精心想问题 继续关注

#2


可能你2中语言文字的Font不一样

#3


一样的,字体都设置为Tahoma, 8.25pt。

而且即使字体不对,也不应该把我继承的背景图片属性给清了啊。

#4


灵异事件
一般碰到这种情况,就把你认为可能的因素列出来,单独开一个项目来验证一下
实在不行就project打包,大家集思广益

#5


把中文字体修改大点哦]

#6


设置成等宽字体试一试。。。

#7


微软的东西有些地方确实还不能被信任,尤其是那些自动生成的东西

#8


还是仔细研究一下自动生成的代码吧,你会很有进步

#9


今天又试了一下。窗口尺寸变动的问题可以通过设置窗口的AutoScaleMode属性来解决。而子窗口位置和背景是被vs2008的自动生成的代码给设置为了0,0和null,所以需要自己手动删除form.designer.cs文件和resources.resx文件中的代码来解决,但是在对窗口属性变动后,又会自动生成代码,现在只能自己不断的修改了,好在程序已经稳定,修改的机会不多。