我有一个使用 RichTextBox 呈现 RichText 的复杂方法。 如果富文本不适合页面,我会使用 SelectionStart、SelectionLength 和 SelectedRtf 属性来获取部分富文本。 但是获取富文本部分后,部分段落格式丢失。 例如,行间距。
如何使用标准的 .Net Framework 方法获取格式正确的部分富文本?
我不需要只复制带有格式的富文本。如果它不适合一页,我需要拆分富文本。如果有任何段落格式,它就会丢失。这是一个丢失了左边距和行距的示例。
最佳答案
好的,由于您实际需要的内容很复杂,我不确定格式文本框是否是正确的解决方案。我知道您可能已经花时间实现它,但请听我说完 - 您会遇到很多问题,因为在许多情况下,文本的格式您正在复制的内容不容易提取,而且您很快就会意识到 RTF 格式的复杂性和非标准性。
如果您正在做的非标准是不值得的,那么尝试让 RTF 做您想做的事是不值得的。在这些情况下,它总是值得回溯,并与其他一些选项一起运行。考虑改用 HTML 控件,这样您将来要添加的任何功能也可能会容易得多。
并且根据您需要的复杂性和其他功能,我建议您使用现有的 HTML 处理控件,并且只需花一点钱就可以了。在这里节省的时间是荒谬的。
(我不隶属于这家公司,但我以前用过这个控件)
如果您坚持使用 RTF,那么即使是像您描述的那样简单的任务,您也几乎总是会遇到困难。另一方面,使用 HTML 可以迅速解决这样的问题,因为任何格式都可以作为 CSS 应用于整个“框”或应用于可以轻松复制/提取的单个元素。
关于c# - 在拆分富文本时保存段落格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16355708/