1

我正在开发一个 Windows 窗体项目。在这个项目中,控件的大小在设计器中设置,并且自动调整大小被关闭。然而,当 Windows 7 中的显示设置设置为中 (125%)大 (150%)时,控件会更改大小。如何防止这种行为?

4

3 回答 3

4

您很可能可以通过将表单的AutoScaleMode属性设置为 来关闭此行为AutoScaleMode.None

话虽如此,不要只是关闭自动缩放,因为它很可能是一件好事!它使您的表单可以在各种分辨率和字体比例设置下工作。例如,如果您设计表单但忘记了视力受损的用户(例如将系统字体缩放增加到异常高百分比的人),由于自动缩放,您的表单可能仍然有效。

正如其他答案所暗示的那样,不要根据固定像素值指定每个控件的位置和大小,然后关闭自动缩放,而是使用自动布局技术:

  • 将控件放入各种容器元素中以排列控件(在网格中 - TableLayoutPanel,一个接一个 -FlowLayoutPanel等);
  • 设置每个控件的DockAnchor属性;
  • 设置每个控件的AutoSizeAutoSizeMode属性。

正确执行此操作需要一些练习,但会使表单的布局更加健壮。

于 2012-10-16T15:53:35.140 回答
0

使用控件的 Anchor 和 Dock 属性。

于 2012-10-16T15:50:07.643 回答
0

在您的用户控件或表单上设置AutoScaleModeDpi

于 2018-01-03T14:13:40.663 回答