怎么在RichTextBox中插入图片,网上广为流传的方法是,通过剪贴板粘贴的方法,代码如下:
openFileDialog1.Filter = "图片文件|*.jpg|*.bmp|*.png|所有文件|*.*";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Clipboard.SetDataObject(Image.FromFile(openFileDialog1.FileName), false);
this.RichTextBox.Paste();
}
不过,用剪切粘贴实现图片插入显然是偷巧之作,显得别扭还不够灵活。
其实RichTextBox本身处理的是RTF,只要能按照RTF格式的要求对图片文字进行处理,就可以简单的实现图文并茂。何况已经有处理的很好的控件,比如ExRichTextBox
ExRichTextBox实现文本图片的插入,但没有提供链接的支持,尝试添加以下代码:
StringBuilder sb = new StringBuilder();
sb.Append(RTF_HEADER);
sb.Append(@"{/fonttbl{/f0/fnil/fcharset" + Font.GdiCharSet.ToString() + " " + EncodeAnsi(this.Font.Name) + ";}}