在C#中缩放Windows窗体

Wat*_*Boy 5 c# winforms

有没有一种简单的方法可以在C#中为Windows窗体设置缩放级别?在VBA中,有一个表单的缩放属性.

小智 10

我遇到了同样的问题,我在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);
Run Code Online (Sandbox Code Playgroud)

形成这种"或多或少"的尺度和所有儿童.永远在800x600(?)中循环您必须设置以下表单属性:

AutoscaleMode = Font
AutoSize = False
Run Code Online (Sandbox Code Playgroud)


小智 0

(据我所知)没有办法用典型的 WinForms 来做你所要求的事情。

如果您正在进行自定义绘画/绘图,则可以使用缩放变换来缩放它,但据我所知,在 .NET 和本机 Windows/C++ API 组合的整个世界中,表单没有“缩放”属性。

您可能可以自己配置一些东西,以便按恒定因子缩放控制。您可能会找到支持此功能的第 3 方控件/界面。谁知道 WPF 能带来什么。但在典型的 WinForms 世界中,答案是否定的。