当显示设置更改时,Windows窗体控件的大小更改

问题描述 投票:1回答:3

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

c# .net winforms custom-controls
3个回答
4
投票

很可能你可以通过将表单的AutoScaleMode property设置为AutoScaleMode.None来关闭此行为。

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

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

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

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


0
投票

使用控件的Anchor和Dock属性。


0
投票

在您的UserControl或Form上将AutoScaleMode设置为Dpi

© www.soinside.com 2019 - 2024. All rights reserved.