代码之家  ›  专栏  ›  技术社区  ›  Steve H.

在C.NET中缩放控件的字体

  •  0
  • Steve H.  · 技术社区  · 15 年前

    我们都知道控制基类有一个scale方法。问题是:这绝对是废话。虽然它可以很好地缩放所有控件,但它不会缩放字体。所以我所有的标签、文本框和按钮看起来都很笨拙。只需循环遍历窗体的所有控件并更改字体是很简单的,但是control.font.size是只读的,因此foreach(control c in this.control s)c.font.size=c.font.size*.8f;不会实现此功能。

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

    2 回复  |  直到 15 年前
        1
  •  1
  •   Robert Harvey    15 年前

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

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

    myControl.Font = new Font(myControl.Font, 
        myControl.Font.Style | FontStyle.Bold);
    

    这里还有一些示例代码的字体缩放教程: http://www.switchonthecode.com/tutorials/csharp-tutorial-font-scaling

        2
  •  0
  •   Robert Harvey    15 年前

    字体缩放并不容易,因为您无法控制高度和宽度,所以只有一个属性: Size .

    我通常做的是使用 TableLayoutPanel 集中地然后可以设置字体 尺寸 以及所有控件(如果使用 Docking AutoSize 正确)缩放。

    哦,通过设置 Font 性质 Form 到A new Font(...)

    推荐文章