在C#中缩放Windows窗体

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (261)

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

提问于
用户回答回答于

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

如果你正在进行自定义绘图/绘图,你可以使用缩放变换来缩放它,但据我所知,整个.NET世界中的表格没有“缩放”属性,并且本机Windows / C ++ API结合在一起。

您可以自己安装一些东西,以便通过常数因子来扩展控件。您可以找到支持此功能的第三方控件/表面。谁知道WPF有什么可能。但在典型的WinForms世界中,没有。

用户回答回答于

您可以通过为表单指定不同的字体来进行某种缩放,如果AutoScaleMode设置为Font ,则所有控件都将相应地缩放。此外,将AutoSize设置为False将保持表单大小不变,控件将增长到表单的中心。您需要正确设置所有锚点并测试外观,因为它只是“缩放”。

所以基本上这里是示例构造函数:

public Form1()
{
    InitializeComponent();

    AutoSize = false;
    AutoScaleMode = AutoScaleMode.Font;
    Font = new Font("Trebuchet MS", 
        10.0f, 
        FontStyle.Regular, 
        GraphicsUnit.Point, 
        ((byte)(204))
    );
}

在显示表单后,分配新的Font会弄乱所有控件,这个技巧将无效。

扫码关注云+社区

领取腾讯云代金券