如何在C#Windows窗体中更改RTF文本时保留当前的字体/样式?

时间:2013-08-27 13:54:10

标签: c# richtextbox rtf treelist

使用Visual Studio使用C#创建Windows窗体应用程序。 我有一个RichTextBox。此框支持格式,如颜色,粗体和下划线。

我添加了按钮,以便人们可以在框中直接格式化文本。 例如,粗体按钮执行此操作:

if (!message.SelectionFont.Bold)
    message.SelectionFont = new Font(message.Font, FontStyle.Bold);
else
    message.SelectionFont = new Font(message.Font, FontStyle.Regular);

这适用于粗体和解开常规文本。问题在于它与其他格式相结合。新Font的创建消除了原始格式,并为我留下了纯粹的粗体或纯正常文本。

如何在将文字更改为粗体的同时保留原始格式?

它不应该是硬编码的。我不应该检查(粗体),if(斜体),if(下划线)是否为每个选项,理想情况下我稍后会添加更多选项(颜色,字体,字体大小等)。

2 个答案:

答案 0 :(得分:0)

似乎不是一种简单的方法。

此链接可能有用: How do I maintain RichText formatting (bold/italic/etc) when changing any one element?

答案 1 :(得分:0)

您可以在此处回答的枚举FontStyle中添加或删除属性。

Changing font in C#?