1

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

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

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

这适用于粗体和非粗体常规文本。问题是当它与其他格式结合时。新字体的创建消除了原始格式,给我留下了纯粗体或纯常规文本。

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

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

4

2 回答 2

0

您可以向枚举 FontStyle 添加或删除属性,如此处回答的那样。

在 C# 中更改字体?

于 2013-08-27T14:16:55.057 回答
0

似乎不是一个简单的方法来做到这一点。

这个链接可能很有趣: 如何在更改任何一个元素时保持 RichText 格式(粗体/斜体/等)?

于 2013-08-27T13:59:10.290 回答