GUI故障:checkbox文本在Windows 8中显示不完整

我有一个WinForms应用程序(在Win 7 64x开发)与CheckBox控件。 我已经将我的表单的AutoScaleMode属性设置为“无”。 窗体在我的机器上看起来不错。

但是,当我将程序发送给运行Windows 8的同事时,CheckBox文本显示不完整。 我不确定这个控件的属性是什么造成的。

我不确定这个控件的属性是什么造成的。

显然,这是AutoScaleMode属性。 或者,我想更准确地说,它是Size属性。

你的同事的机器不仅尺寸不同,而且尺寸也不一样。 通过比较屏幕截图,您可以清楚地看到这一点。 复选框控件的允许大小太小(不够宽)以显示整个标签,所以它会被截断,所有您看到的都是标签的前两个字母。

解决办法很简单:使控制面积更大。 更好的办法是通过将容器窗体的AutoScaleMode属性设置为更明智的内容(如Text或DPI)来自动调整大小。 这确保了当用户使用不同于您的机器的DPI或字体设置时,它不会中断。

长远来说,最好使用TableLayoutPanel或FlowLayoutPanel和Anchor和Dock属性来设计流式布局。 设计师的工作比拖放更多,但是它产生了更好的结果,可以在所有环境中进行扩展。