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