如何将多种字体样式应用于文本?
System.Drawing.Font MyFont = new System.Drawing.Font(
thisTempLabel.LabelFont,
((float)thisTempLabel.fontSize),
FontStyle.Bold + FontStyle.Italic, // + obviously doesn't work, but what am I meant to do?
GraphicsUnit.Pixel
);
感谢您的帮助!
答案 0 :(得分:46)
System.Drawing.Font MyFont = new System.Drawing.Font(
thisTempLabel.LabelFont,
((float)thisTempLabel.fontSize),
FontStyle.Bold | FontStyle.Italic, // + obviously doesn't work, but what am I meant to do?
GraphicsUnit.Pixel
);
也许你想使用OR运算符(|
)
答案 1 :(得分:9)
FontStyle
是一个标志枚举,因此您可以通过以下方式设置多个样式:
FontStyle.Bold | FontStyle.Italic
答案 2 :(得分:4)
我认为它是FontStyle.Bold | FontStyle.Italic
通常使用管道(按位OR)符号组合这些函数中的多个标志
此页面解释
答案 3 :(得分:2)
您好我正在编写一个简单的文本编辑器,我遇到了同样的问题,我在互联网上找不到任何有用的东西。如果表单中有许多按钮,那么if,else if方法不是最佳的,所以我想为什么不采用现有的font.style并且只是添加到它使用|象上面提到的人的象征。我测试了这段代码并且它有效。我点击图片框中的这个方法。
更新。我发现了一个bug。取消选择字体时,它会将所有其他字体重置为常规字体。但是组合它们的代码可以工作。
private void ChangeFontStyle(PictureBox p)
{
if (p == pictureBox1)
{
if (BClicked)
{
richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Bold);
}
else
{
richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Regular);
}
}
else if (p == pictureBox2)
{
if (IClicked)
{
richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Italic);
}
else
{
richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Regular);
}
}
else if (p == pictureBox3)
{
if (UClicked)
{
richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.SelectionFont.Style | FontStyle.Underline);
}
else
{
richTextBox1.SelectionFont = new Font(richTextBox1.Font, richTextBox1.Font.Style | FontStyle.Regular);
}
}
}
P.S我使用图片框代替按钮,而像BClicked这样的布尔变量表示它们是否被激活。
答案 4 :(得分:1)
我认为你可以从Font类中受益:
/*controlName*/.SelectionFont=new Font(maintext.Font, FontStyle.Italic);