【发布时间】:2020-06-26 21:27:33
【问题描述】:
我正在尝试添加,以便 Bold 和 Italic 可以使用相同的字体(由用户输入),并且我已经使 curStyle -= FontStyle.Italic (和 Bold)工作,但为什么你不能 += 也添加它。
我只是为了试验一下:
FontStyle curStyle = rtbMainWrite.SelectionFont.Style;
if (rtbMainWrite.SelectionFont.Italic == false)
{
curStyle -= FontStyle.Italic;
} else {
curStyle -= FontStyle.Italic;
}
rtbMainWrite.SelectionFont = new Font(rtbMainWrite.SelectionFont, curStyle);
但这只是将所有效果加在一起(下划线、删除线、粗体和斜体),但是当我按下粗体按钮(-= FontStyle.Bold)时,粗体消失了,但其他 3 个没有消失,与斜体相同(它删除了斜体并留下了删除线和下划线),认为这可能会有所帮助:)。
Italic 看起来也一样,但显然是斜体而不是粗体。
【问题讨论】:
-
你在 if 和 else 块中都在做同样的操作
curStyle -= FontStyle.Italic;。 -
是的,我知道这只是为了进行实验,我也编写的输出可能对我有所帮助,但 if 中的原始代码为“curStyle = FontStyle.Italic”,而 -= 在否则。
-
FontStyle 是一个基于标志的枚举。所以你需要使用
|来组合更多的字体样式。 stackoverflow.com/questions/5350676/make-font-italic-and-bold -
这能回答你的问题吗? Remove FontStyle Bold from a Control's Font
标签: c#