在C#中缩放Windows窗体
时间:2020-03-05 18:45:18 来源:igfitidea点击:
有没有一种简单的方法可以在C#中设置Windows窗体的缩放级别?在VBA中,该表单具有zoom属性。
解决方案
回答
(我知道)无法用典型的WinForms完成我们所要求的工作。
如果我们要进行自定义绘画,则可以使用zoom变换对其进行缩放,但据我所知,在整个.NET和本机Windows / C ++ API的组合中,表单没有" Zoom"属性。
我们可能会自己装配一些东西,以便按恒定比例缩放控件。我们可能会找到支持此功能的第三方控件/表面。谁知道WPF有什么可能。但是在典型的WinForms世界中,没有。
回答
我有同样的问题,我在C#中以这种方式解决了。代码进入表格加载
float scaleX = ((float)Screen.PrimaryScreen.WorkingArea.Width / 1024); float scaleY = ((float)Screen.PrimaryScreen.WorkingArea.Height / 768); SizeF aSf = new SizeF(scaleX, scaleY); this.Scale(aSf);
这个"或者多或者少"的秤量表和所有孩子。永远以800x600(?)循环播放
我们必须设置以下表单属性:
AutoscaleMode = Font AutoSize = False