如何向字体添加特定的 属性?
How do I add a specific property to a font?
我有一个字符串格式化系统,用户可以使用特殊字符组合为文本着色,添加粗体、斜体和下划线,所有这些都以文本为中心。
我的问题是,例如,当用户尝试加粗和加下划线时,文本只显示后者 属性。例如,
{bold char combo}{italic char combo}Hello, World
会显示为:
你好,世界
而不是:
你好,世界
这是我当前使用的代码示例。
// Other formatting codes...
case 'B': // Bold
box.SelectionFont = new Font(box.SelectionFont, FontStyle.Bold);
break;
case 'I': // Italic
box.SelectionFont = new Font(box.SelectionFont, FontStyle.Italic);
break;
// Other formatting codes...
找到解决方案。
box.SelectionFont = new Font(box.SelectionFont, box.SelectionFont.Style ^ FontStyle.Bold);
改编自"A way to overcome RichTextBox's limitations?"
我有一个字符串格式化系统,用户可以使用特殊字符组合为文本着色,添加粗体、斜体和下划线,所有这些都以文本为中心。
我的问题是,例如,当用户尝试加粗和加下划线时,文本只显示后者 属性。例如,
{bold char combo}{italic char combo}Hello, World
会显示为:
你好,世界
而不是:
你好,世界
这是我当前使用的代码示例。
// Other formatting codes...
case 'B': // Bold
box.SelectionFont = new Font(box.SelectionFont, FontStyle.Bold);
break;
case 'I': // Italic
box.SelectionFont = new Font(box.SelectionFont, FontStyle.Italic);
break;
// Other formatting codes...
找到解决方案。
box.SelectionFont = new Font(box.SelectionFont, box.SelectionFont.Style ^ FontStyle.Bold);
改编自"A way to overcome RichTextBox's limitations?"