我有一个使用VS2008构建的C#3.0 Windows窗体应用程序(之前移植自C#1.1)在WinXP 32位PC上看起来不错,但在Win7 64位笔记本电脑上却有很多比例。
我发现应用程序使用的Tahoma 8在Win7上缺乏支持。我是否需要使用Tahoma 9重新设计对话框以使其在所有3个操作系统上都能很好地显示?
以下是包含单选按钮和按钮的组框的初始测量值(cm):
操作系统,分辨率,GroupBox HxW,RadioButton HxW
XP,1024 x 768,7.5 x 6.75,0.75 x 4.4
7,1024 x 768,6.8 x 6.3,0.8 x 5.0
7,1680 x 1050,4.9 x 4.5,0.55 x 3.5
问题基本上是在不同的操作系统上,组合框的比例变化与它所包含的无线电不同,因此在XP中的组合框中适合的无线电和标签超出界限(x和... 7.同样,按钮上的文字比按钮增长得多。即使我拨下7盒的分辨率以匹配XP盒,也会发生这种情况。 GroupBox的字体大于收音机的字体,但即使我把它们变得相同,我也看不到任何改进。
我认为这与应用程序最初使用旧版本的C#创建然后移植的事实有关。我这样说是因为我刚刚使用VS2008创建了一个新的(空)Windows窗体项目,并且我的应用程序中的每个控件都无法在win7上正确显示,当我将该控件复制到新应用程序并在win7上运行时,它会调整大小正确。应用程序中必须存在一些控件继承的高级属性。
是什么导致了这一点,我该怎么办呢?
提前致谢。
答案 0 :(得分:2)
主窗体的'AutoScaleMode'设置为'Font'。将它设置为'DPI'修复它(虽然由于代码没有预期在启动时调整大小而产生了其他问题... null refs,但我可以处理这些问题。)
Tergiver因为把我指向表格的属性表而获得双重功劳,而且我花了很长时间才注意到这个明显的属性:)