在 RichTextBox 中用图像替换文本
Replace text by image in RichTextBox
我正在尝试在 richTextBox 中实现选项以显示图形表情而不是文本表示。所以我基本上是在寻找用相应图片替换例如 ':)' 字符串的选项。
我在谷歌上搜索了很多,我找到的唯一简单/可行的解决方案是:
Clipboard.SetImage( Properties.Resources.angry );
richTextBox1.Paste();
但这种方法有很大的缺点 - 它会覆盖剪贴板内容,因此可能会干扰用户
任何人都可以建议如何以其他方式(不使用剪贴板)做到这一点吗?
我也在考虑在操作后保存和恢复剪贴板内容 - 但为此我也找不到简单的方法......
任何帮助/提示将不胜感激!
编辑
实际上剪贴板备份/恢复不是个好主意。注意到有时 OS / AVs 将其识别为 'dangerous' 操作并导致应用程序崩溃
仍在寻找其他方式/更好的 RTB(免费)组件 ...
EDIT-2
我在这里找到了可行的解决方案:
Insert Image at Cursor Position in Rich Text box
但仍然不是 100% 满意,因为图像质量正在下降
经过数小时的谷歌搜索和测试,我似乎终于找到了避免 copy/paste 方法的方法。
感谢以下链接我找到了我的答案:
https://www.codeproject.com/Articles/30902/RichText-Builder-StringBuilder-for-RTF
https://github.com/axuno/SmartFormat/tree/master/src/SmartFormat.Demo/ThirdParty/RTFLib
我正在尝试在 richTextBox 中实现选项以显示图形表情而不是文本表示。所以我基本上是在寻找用相应图片替换例如 ':)' 字符串的选项。
我在谷歌上搜索了很多,我找到的唯一简单/可行的解决方案是:
Clipboard.SetImage( Properties.Resources.angry );
richTextBox1.Paste();
但这种方法有很大的缺点 - 它会覆盖剪贴板内容,因此可能会干扰用户
任何人都可以建议如何以其他方式(不使用剪贴板)做到这一点吗?
我也在考虑在操作后保存和恢复剪贴板内容 - 但为此我也找不到简单的方法......
任何帮助/提示将不胜感激!
编辑
实际上剪贴板备份/恢复不是个好主意。注意到有时 OS / AVs 将其识别为 'dangerous' 操作并导致应用程序崩溃
仍在寻找其他方式/更好的 RTB(免费)组件 ...
EDIT-2
我在这里找到了可行的解决方案: Insert Image at Cursor Position in Rich Text box
但仍然不是 100% 满意,因为图像质量正在下降
经过数小时的谷歌搜索和测试,我似乎终于找到了避免 copy/paste 方法的方法。
感谢以下链接我找到了我的答案:
https://www.codeproject.com/Articles/30902/RichText-Builder-StringBuilder-for-RTF
https://github.com/axuno/SmartFormat/tree/master/src/SmartFormat.Demo/ThirdParty/RTFLib