NND,火死我了。我现在写的程序,在做本地化的时候。当我把窗口language属性设置为中文后,发现窗口就自动变小,手动改回原尺寸,双击Solution Explorer里面的该窗口文件后,发现窗口尺寸又被更改。我的子窗口是从另一个control类派生出的,继承了该control类的背景图片,位置,大小等属性。当我把该子窗口的language属性设置为中文时还好,但是当把子窗口里面的控件文本改掉后,子窗口继承来的属性似乎都失效了。背景图片丢失。而运行时发现位置属性也失效了,子窗口出现在父窗口的左上角。而我再手动更改子窗口的位置属性也无效。有大虾解决过这个问题的嘛?我发现本地化后,程序自动生成的代码有了比较大的变化。现在我还没有头绪怎么搞定这个问题,请大家指点。

解决方案 »

  1.   

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

  2.   

    一样的,字体都设置为Tahoma, 8.25pt。而且即使字体不对,也不应该把我继承的背景图片属性给清了啊。
      

  3.   

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

  4.   

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