首页 > 解决方案 > 在 RichTextBox 中用图像替换文本

问题描述

我试图在richTextBox 中实现选项以显示图形表情符号而不是文本表示。所以我基本上正在寻找用相应图片替换例如':)'字符串的选项。

我用谷歌搜索了很多,我发现唯一简单/有效的解决方案是:

Clipboard.SetImage( Properties.Resources.angry  );
richTextBox1.Paste();

但是这种方法有一个很大的缺点 - 它会覆盖剪贴板内容,因此可能会干扰用户

任何人都可以建议如何以其他方式(不使用剪贴板)吗?

我也在考虑在操作后保存和恢复剪贴板内容 - 但为此我也找不到简单的方法...... 任何帮助/提示将不胜感激!

编辑

实际上剪贴板备份/恢复是个坏主意。注意到有时被 OS / AV 识别为“危险”操作并导致应用程序崩溃

仍在寻找其他方式/更好的 RTB(免费)组件...

编辑-2

我在这里找到了可行的解决方案: 在富文本框中的光标位置插入图像

但仍然不是 100% 高兴,因为图像质量正在丢失

标签: c#imagewinformsrichtextboxclipboard

解决方案


经过数小时的谷歌搜索和测试,我终于找到了避免复制/粘贴方法的方法。

下面的链接感谢我找到了我的答案:

https://www.codeproject.com/Articles/30902/RichText-Builder-StringBuilder-for-RTF

https://github.com/axuno/SmartFormat/tree/master/src/SmartFormat.Demo/ThirdParty/RTFLib

https://www.bbsmax.com/A/RnJW28Dozq/


推荐阅读