如何阻止我的粗体/斜体/下划线选项改变文本's字体回到默认的字体和大小
本文关键字:字体 默认 我的 何阻止 斜体 下划线 文本 改变 选项 | 更新日期: 2023-09-27 18:14:45
在我的应用程序中,我有一个功能,允许用户更改文本的粗体/斜体/下划线样式。但是,我注意到,当用户将文本加粗时,它会将文本还原为默认大小和字体,然后将其加粗。显然,这是不希望的,因为这意味着用户将不得不再次更改文本的字体和大小,这是不希望的。
目前,在我的应用程序的richtextbox中使文本加粗的代码是:
richTextBoxPrintCtrl1.SelectionFont = new System.Drawing.Font(richTextBoxPrintCtrl1.Font,
richTextBoxPrintCtrl1.SelectionFont.Style ^ FontStyle.Bold);
我哪里错了?它确实使文本加粗,但它将文本恢复到默认大小和字体…然而,颜色是不受影响的。
尝试使用MSDN提供的示例代码:
System.Drawing.Font currentFont = richTextBoxPrintCtrl1.SelectionFont;
System.Drawing.FontStyle newFontStyle;
if (richTextBoxPrintCtrl1.SelectionFont.Bold == true)
{
newFontStyle = FontStyle.Regular;
}
else
{
newFontStyle = FontStyle.Bold;
}
richTextBoxPrintCtrl1.SelectionFont = new Font(
currentFont.FontFamily,
currentFont.Size,
newFontStyle
);
编辑
根据@abalter的建议,我把我在下面的评论中写的示例代码放在这个答案中。这段代码可能更符合问题中的问题。
if (richTextBoxPrintCtrl1.SelectionFont.Bold == true)
{
newFontStyle = currentFont.Style ^ FontStyle.Regular;
}
else
{
newFontStyle = currentFont.Style | FontStyle.Bold;
}