如何将按钮字体设置为Marlett

时间:2013-04-24 12:13:27

标签: c# winforms button fonts true-type-fonts

我正在尝试将按钮字体设置为系统的Marlett字体。但是,虽然我手动设置了font-face,但使用了其他字体。此外,当我使用字体对话框为该按钮选择字体时,未列出Marlett。

为什么会这样?如何在.NET Windows窗体控件中使用Marlett字体?

4 个答案:

答案 0 :(得分:7)

虽然我不知道设计师背后的代码是什么,但我总是发现自定义安装的字体出现在设计器中。好消息是Font属性属于环境属性,因此如果您希望所有控件都具有相同的Font,则必须将其设置为Form 。但是,您似乎只想让一个控件拥有Font,所以让我们这样做:

ctrl.Font = new Font("Marlett", 8.5f);

例如,该控件的Font设置为Marlett,大小设置为8.5

如果您希望整套控件具有相同的Font,如果它们可以放置在像Panel 这样的容器中,那么您只需要设置Font的{​​{1}};因为它又是一个环境属性。

答案 1 :(得分:4)

   button1.Font = new Font("Marlett",8, FontStyle.Regular);

将此代码放在您想要更改的按钮名称Button1中(在iinitializecomponet之后或在表单Load事件中来自constrcutor)

答案 2 :(得分:3)

默认情况下,设计人员想要将GdiCharSet设置为0.这会导致Marlett字体回退到另一种字体。

如果将GdiCharSet更改为1,它将正常渲染。

还要注意它在.designer.cs中所做的更改,这也解释了为什么当你从代码中手动设置字体时它确实有效。

答案 3 :(得分:0)

这终于对我有用。

ctrl.Font = new System.Drawing.Font("Marlett", 12f, FontStyle.Regular, GraphicsUnit.Point, ((byte)(1)));

最后一个((byte)(1))将GdiCharSet设置为1,@ Paul在其他答案之一中指出了这一点。

相关问题