我正在开发一个 Windows 窗体项目。在这个项目中,控件的大小在设计器中设置,并且自动调整大小被关闭。然而,当 Windows 7 中的显示设置设置为中 (125%)或大 (150%)时,控件会更改大小。如何防止这种行为?
问问题
4890 次
3 回答
4
您很可能可以通过将表单的AutoScaleMode
属性设置为 来关闭此行为AutoScaleMode.None
。
话虽如此,不要只是关闭自动缩放,因为它很可能是一件好事!它使您的表单可以在各种分辨率和字体比例设置下工作。例如,如果您设计表单但忘记了视力受损的用户(例如将系统字体缩放增加到异常高百分比的人),由于自动缩放,您的表单可能仍然有效。
正如其他答案所暗示的那样,不要根据固定像素值指定每个控件的位置和大小,然后关闭自动缩放,而是使用自动布局技术:
- 将控件放入各种容器元素中以排列控件(在网格中 -
TableLayoutPanel
,一个接一个 -FlowLayoutPanel
等); - 设置每个控件的
Dock
和Anchor
属性; - 设置每个控件的
AutoSize
和AutoSizeMode
属性。
正确执行此操作需要一些练习,但会使表单的布局更加健壮。
于 2012-10-16T15:53:35.140 回答
0
使用控件的 Anchor 和 Dock 属性。
于 2012-10-16T15:50:07.643 回答
0
在您的用户控件或表单上设置AutoScaleMode
为Dpi
于 2018-01-03T14:13:40.663 回答