Winforms VS表单设计器是否浪费资源重复字体?

Winforms VS表单设计器是否浪费资源重复字体?,winforms,performance,visual-studio,designer,Winforms,Performance,Visual Studio,Designer,当我创建表单时,通常它包含大量需要字体的控件。一般来说,我最多会在表单上使用3种不同的字体。但我注意到,当我查看设计器时,它会为每个控件创建一个单独的字体对象 这是不是像看起来那样浪费了大量的内存?为使用的每种字体只创建一个字体对象,并将每个控件的字体设置为适当的现有字体对象,是否会显著提高效率 这与更改设计器代码无关。我真的很想知道自己在表单中添加控件时最好的方法是什么。如果不为控件的font属性指定新字体,它将使用其父控件的字体。因此,只将新字体分配给您希望使用不同字体的控件,并让其他控件使

当我创建表单时,通常它包含大量需要字体的控件。一般来说,我最多会在表单上使用3种不同的字体。但我注意到,当我查看设计器时,它会为每个控件创建一个单独的字体对象

这是不是像看起来那样浪费了大量的内存?为使用的每种字体只创建一个字体对象,并将每个控件的字体设置为适当的现有字体对象,是否会显著提高效率


这与更改设计器代码无关。我真的很想知道自己在表单中添加控件时最好的方法是什么。

如果不为控件的
font
属性指定新字体,它将使用其父控件的字体。因此,只将新字体分配给您希望使用不同字体的控件,并让其他控件使用其父字体就足够了。字体将被缓存。如果第二次使用具有相同参数的新字体(…),则将使用相同的底层物理字体。只要自己尝试一下,在循环中创建一百万个字体对象就可以了。缓存。@HansPassant-谢谢。这正是我所好奇的:如果幕后发生了什么事情,使得它比在一次天真的阅读中看起来更干净。如果你不给控件的
font
属性指定一个新字体,它会使用它的父控件的字体。因此,只将新字体分配给您希望使用不同字体的控件,并让其他控件使用其父字体就足够了。字体将被缓存。如果第二次使用具有相同参数的新字体(…),则将使用相同的底层物理字体。只要自己尝试一下,在循环中创建一百万个字体对象就可以了。缓存。@HansPassant-谢谢。这就是我所好奇的:是否有什么事情发生在幕后,使它比天真的阅读中看起来更干净。