C# 如何向具有多个属性的标签添加字体?
我目前正在尝试在运行时生成标签,并在运行时添加它们各自的字体 到目前为止,我成功地用这一行在我的标签上加了下划线和粗体字:C# 如何向具有多个属性的标签添加字体?,c#,forms,C#,Forms,我目前正在尝试在运行时生成标签,并在运行时添加它们各自的字体 到目前为止,我成功地用这一行在我的标签上加了下划线和粗体字: championName.Font = new Font(championName.Font, FontStyle.Bold | FontStyle.Underline); 尽管将属性与|相加似乎已经很奇怪了,但它仍然有效 但是,如果我现在还想更改标签的文本大小,我该怎么做?我不太明白我要把它挤到哪里去 我尝试创建一个字体对象,如下所示: Font fnt = new F
championName.Font = new Font(championName.Font, FontStyle.Bold | FontStyle.Underline);
尽管将属性与|相加似乎已经很奇怪了,但它仍然有效 但是,如果我现在还想更改标签的文本大小,我该怎么做?我不太明白我要把它挤到哪里去 我尝试创建一个字体对象,如下所示:
Font fnt = new Font();
championName.Font.Size = 1.5F;
然后编辑它的属性,但考虑到我不能创建这样的对象,这很快就失败了
那么,我如何一次在这个标签上更改多个内容呢?我的意思是,很明显,我不能只分配另一个新字体()代码>而不丢失我的旧代码,因此必须有一种方法来做到这一点。有几个构造函数。一种可能性是使用其中一个构造函数:
尝试以下两种解决方案:
1) 您可以尝试Font
类的重载构造函数。其中一些参数包括尺寸作为参数之一。请参阅此处的构造函数文档:
例如:
new Font("font-family", 1.5F, FontStyle.Bold | FontStyle.Underline);
2) 您可以尝试访问标签的Font
属性的Size
属性,如下所示:
Font fnt = new Font();
championName.Font.Size = 1.5F;
让我知道你的发现。这个Font
构造器有一个重载,它需要一个字体大小:接下来你需要的是颜色;因此,创建一个类并在其中添加内容。。这样一个myFont实例也可以存储在标签的标签中。“即使将属性与|相加似乎已经很奇怪了”——这是一个按位or;每个枚举值表示一个特定的位模式(例如0001和0010),通过按位对它们进行ORing,您可以得到一个包含这两个属性(0011)的位模式。@RonBeyer Yes,但它不采用现有字体,只采用字体样式或名称,因此您还必须设置其他属性。OP似乎只想更改大小。@DStanley是的,但您可以很容易地从现有字体(championName.font.FontFamily
)中获取字体名称,正如公认的答案所说。您也可以将当前字体用作第一个参数来更改它。@Leesharrison我已经更新了示例代码。谢谢你的提示。我不知道为什么我不能让它工作。根据医生的说法,这似乎应该有效。然而,它总是建议我最接近的一致性应该是Font.Font(string familyName、float emSize、GraphicsUnit)。尝试将championName.Font
更改为championName.Font.fontfamine
。我很高兴答案对我有所帮助。