如何将字体添加到具有多个属性的标签?

时间:2015-08-18 18:59:42

标签: c# forms

我目前正在尝试在运行时生成标签,并在运行时添加各自的字体。

到目前为止,我设法用这一行标注下划线和粗体:

championName.Font = new Font(championName.Font, FontStyle.Bold | FontStyle.Underline);

即使用|添加属性它似乎也很奇怪,它的确有效。

但是,如果我现在想要更改我的标签文字大小,我该怎么做?我无法弄明白我在哪里挤压它。

我尝试通过创建这样的字体对象来实现:

Font fnt = new Font();

然后编辑它的属性,但考虑到我不能像这样创建一个对象,那很快就失败了。

那么,我如何一次更改此标签上的多个内容?我的意思是很明显我不能只分配另一个new Font();而不会丢失旧的{{1}},所以必须有办法实现它。

3 个答案:

答案 0 :(得分:7)

System.Drawing.Font class有几个结构。一种可能性是使用带有size parameter的构造函数之一:

championName.Font = new Font(SystemFonts.DefaultFont, 16.0, FontStyle.Bold | FontStyle.Underline);
// championName.Font = new Font(championName.Font.FontFamily, 16.0, FontStyle.Bold | FontStyle.Underline);

答案 1 :(得分:2)

尝试以下几种解决方案:

1)您可以尝试Font类的重载构造函数。其中一些包括尺寸作为参数之一。请参阅此处的构造函数文档:
https://msdn.microsoft.com/en-us/library/system.drawing.font.font(v=vs.110).aspx

示例:

new Font("font-family", 1.5F, FontStyle.Bold | FontStyle.Underline);


2)您可以尝试访问Size Font属性的Label属性,如下所示:

championName.Font.Size = 1.5F;

让我知道你的发现。

答案 2 :(得分:-1)

考虑创建一个扩展Font()的MyFont()类。

通过这种方式,您可以创建一个更简化的参数界面,而不是诉诸“黑客”'在你的参数。