c#怎么在richtextbox中设置不同字体的文字?

weixin_38098251 2018-03-09 06:47:26
string4=string1+string2+string3;
RichTextBox1.Text=string5+string4+string6;

因为字符串是程序中生成的,怎么在程序中设置只让string2字体加粗或为不同颜色?
...全文
272 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38104476 2018-03-12
  • 打赏
  • 举报
回复
RTF格式本身就有一套标记样式,不依赖winform的richtextbox。
将RTF格式构造后完成后,再传给richtexbox即可,参考RTF specification.
http://cn.bing.com/search?q=rtf+specification+pdf&qs=AS&pq=rtf+speci&sk=AS1&sc=8-9&cvid=6BCCE2DF53E24F8E8EF3A32F8AFCF01A&FORM=QBLH&sp=2

专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms
weixin_38104057 2018-03-09
  • 打赏
  • 举报
回复
谢谢!
如果只是将其中几个字加粗或加下划线,能否不依赖控件,比如就像html一样,先在字符串中加标记,组合完毕最后在控件中展现?
weixin_38103381 2018-03-09
  • 打赏
  • 举报
回复
Hi,
在winform中你可以使用RichTextBox.SelectionFont 属性来设置字体。参考下面的代码:
private void ToggleBold() { if (richTextBox1.SelectionFont != null) { System.Drawing.Font currentFont = richTextBox1.SelectionFont; System.Drawing.FontStyle newFontStyle; if (richTextBox1.SelectionFont.Bold == true) { newFontStyle = FontStyle.Regular; } else { newFontStyle = FontStyle.Bold; } richTextBox1.SelectionFont = new Font( currentFont.FontFamily, currentFont.Size, newFontStyle ); } }
这是让 richtextbox 显示不同的字体,没有找到合适的办法,让richtextbox 上面显示的字符显示不同的字体。同一时刻不能显示多种字体在一个richtextbox 中。
关于如何给richtextbox 设置不同的字体,你可以参考下面链接。
https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/how-to-set-font-attributes-for-the-windows-forms-richtextbox-control
下面是设置不同的颜色。https://stackoverflow.com/questions/1926264/color-different-parts-of-a-richtextbox-string

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧