有没有办法在最大化屏幕或更改分辨率时让所有内容在 windowsFrom 上自动缩放。
我发现手动缩放它是正确的,但是在切换分辨率时,我每次都必须更改它。
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
没有简单的开关可以让您自动执行此操作。自动缩放是为了解决一个非常不同的问题。您需要考虑到这个设计目标来布置您的表单及其控件。
特别是,最好的方法是使用停靠的TableLayoutPanel
控件来“填充”整个表单——将其Dock
属性设置为DockStyle.Fill
. 这将基本上成为您用来布置您希望出现在表单上的子控件的“布局网格”。
然后,将每个常规控件放置在该控件的“单元格”内TableLayoutPanel
。设置子控件的Anchor
属性以指示您希望它们在窗体展开(或缩小)时如何增长。例如:
这需要一些麻烦才能正确。例如,您有时必须在控件内部设置控件的ColumnSpan
和/或RowSpan
属性,TableLayoutPanel
以确保它们按照您希望的方式排列,尤其是相对于窗体上显示的其他控件。
但这只是做你想做的事的唯一方法,而且一旦你设置好它就可以很好地工作。