用RichTextBox中的图像替换文本

时间:2019-04-05 12:55:28

标签: c# image winforms richtextbox clipboard

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

我用Google搜索了很多,但我发现的唯一简单/可行的解决方案是:

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

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

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

<罢工> 我还考虑过在手术后保存和还原剪贴板内容-但为此我也找不到简单的方法... 任何帮助/提示将不胜感激!

编辑

实际上剪贴板备份/还原不是一个好主意。注意到OS / AV有时将其识别为“危险”操作并导致应用崩溃

还是其他方式/更好的RTB(免费)组件...

EDIT-2

我在这里找到了可行的解决方案: Insert Image at Cursor Position in Rich Text box

但由于图像质量下降,仍然不是100%满意

1 个答案:

答案 0 :(得分:0)

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

下面的链接,谢谢艾夫找到了我的答案:

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/