WinForm在不同平台下的确会表现出很少量的不一致现象,这些不一致包括:字体、颜色、排版、控件大小及样式等。 例如,PictureBox中的图片在WinXP下和Win98下的大小就会有很大差别:如果在 WinXP下图片大小正好撑满窗体,则在Win98下会无法填满窗体而漏出一块窗体背景,因此这时需要指定PictureBox的SizeMode为PictureBoxSizeMode.StretchImage,这样就能保证程序的外观在Win98下和WinXP下的一致性。 在控件布局方面,应该尽量避免在窗体里对控件使用“绝对定位”,即直接指定位置和大小的数值。应尽量多使用Panel、Split、Dock和Anchor,并且尽量避免自己改变控件的颜色,尽量使用系统默认色。这些措施都有利于保证程序外观在不同平台下的一直性。 另外,对Localization的支持也是需要留意的地方,尤其当开发中文界面的WinForm的时候,即是在Win2000/XP下一切正常的程序,在中文版Win98下菜单和按钮等也可能都显示乱码。

解决方案 »

  1.   

    补充,copy 你的Tahoma和宋体 to win98,win98 上使用的都是等宽字体,而2k 不是
      

  2.   

    设置窗体的字体和自动缩防比例。
    一般情况采用windows中文标准的宋体9号字就没有问题。
    缩放比例我改过,通常会被winform设计器改回他的默认值,很不好控制,所以建议你修改窗体的字体就可以了。
      

  3.   

    推荐使用:Anchor和Dock这两个属性
      

  4.   

    我已经使用了Anchor和Dock属性,但没效果.
    我发现在不同的系统下控件的大小是不同的.例如TextBox,在Windows 2003.net 下multiLine为false时高度是21且不可调整,但到了WinXP下TextBox的高度是20.
    后来我把所有TextBox的multiLine设为True,这样TextBox在WinXP下高度也可以是21了