如何将富文本呈现为图像?
我正在尝试创建一个富文本 DataGridViewCell。 我可以托管 RichTextBox 作为编辑控件,但是当单元格不处于编辑模式时,我需要自己绘制富文本。 我不想解析文本 - 我只需要一个与富文本兼容的 Graphics.DrawString 的等效项。
I'm trying to create a rich text DataGridViewCell. I can host a RichTextBox as the editing control, but when the cell isn't in editing mode I need to paint the rich text myself. I don't want to parse the text - I just need an equivalent of Graphics.DrawString that works with rich text.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一个示例,您可以在其中向 Richtextbox 添加打印功能。 它基本上只是将富文本复制到用于打印的 Graphics 对象。 我认为您可以修改它以使用您自己的图形对象,并且基本上“打印”到图像。
编辑:
这是一篇文章 有人似乎修改了用于创建图像的打印代码。
Here's an example where you can add a print feature to the richtextbox. It's basically just copying the rich text to the Graphics object used for printing. I think you could modify this to use your own graphics object instead, and basically "print" to an image.
Edit:
Here's a post where someone seems to have modified the print code for creating an image.
我不相信 WinForms 中有一个解决方案可以为您做到这一点。 这里最好的方法可能是使用
RichTextBox
进行普通渲染和编辑,并且在不处于编辑模式时将其锁定(将Locked
设置为 true)。I don't believe there's a solution within WinForms that can do that for you. The best approach here is probably to use the
RichTextBox
for both plain rendering and editing, and just lock it (setLocked
to true) when not in edit mode.