缩放控件';C#Net中的s字体

缩放控件';C#Net中的s字体,c#,.net,forms,controls,scale,C#,.net,Forms,Controls,Scale,我们都知道控件基类有一个Scale方法。问题是:这完全是废话。虽然它可以很好地缩放所有控件,但它不会缩放字体。所以我所有的标签、文本框和按钮看起来都很笨拙。循环遍历表单的所有控件并更改字体是非常简单的,但是Control.font.Size是只读的,所以foreach(这个.controls中的控件C){C.font.Size=C.font.Size*.8f;}不会起作用 缩放窗体本身时,缩放窗体中每个控件字体的最佳方法是什么?要更改控件的字体大小,必须创建新的字体对象并将其指定给控件 您可以使

我们都知道控件基类有一个Scale方法。问题是:这完全是废话。虽然它可以很好地缩放所有控件,但它不会缩放字体。所以我所有的标签、文本框和按钮看起来都很笨拙。循环遍历表单的所有控件并更改字体是非常简单的,但是Control.font.Size是只读的,所以foreach(这个.controls中的控件C){C.font.Size=C.font.Size*.8f;}不会起作用


缩放窗体本身时,缩放窗体中每个控件字体的最佳方法是什么?

要更改控件的字体大小,必须创建新的字体对象并将其指定给控件

您可以使用现有控件中的作为模板来创建新字体对象,同时仅更改所需的字体属性,因此:

myControl.Font = new Font(myControl.Font, 
    myControl.Font.Style | FontStyle.Bold);
这里还有一个字体缩放教程,其中包含一些示例代码:
字体缩放不是那么容易,因为您无法控制高度和宽度,您只有一个属性:
Size

我通常做的是集中使用这个工具。然后可以设置字体
大小
,并且所有控件(如果使用
停靠
自动调整大小
正确)都应该可以很好地缩放

哦,通过将
表单的
font
属性设置为
新字体(…)