2017-02-16 132 views
0

编辑:感谢给意见,我注意到的根本原因是只读属性设置为trueRichTextBox中不显示图像

我创建一个WinForm与一个RichTextBox(使用类名RICHEDIT50W - 参见下面的自定义类)

如果我插入丰富的文本,表格和图片,如预期显示。我可以保存RTF内容并将其加载回去。

但是,如果我将属性只读设置为true,则不显示图像(显示表格和其他丰富的内容)。任何想法为什么?

我正在这样做加载RTF数据 myTextBox.ReadOnly = true; myTextBox.RTF = variableConteningRtfData;

我的customrichtextbox实现已在stackoverflow上找到,并有更好地管理RTF规范。

public class custom_RichTextBox : RichTextBox 
{ 
    public custom_RichTextBox() : base() 
    { 

    } 

    [DllImport("kernel32.dll", CharSet = CharSet.Auto)] 
    static extern IntPtr LoadLibrary(string lpFileName); 

    protected override CreateParams CreateParams 
    { 
     get 
     { 
      CreateParams param = base.CreateParams; 
      if (LoadLibrary("msftedit.dll") != IntPtr.Zero) 
      { 
       param.ClassName = "RICHEDIT50W"; 
      } 
      return param; 
     } 
    } 
} 
+0

你可以加载代码加载/保存rtf吗?有['RichTextBox.LoadFile'](https://msdn.microsoft.com/en-us/library/d76176b1(v = vs.110).aspx)方法。 – Sinatr

+0

它不相关。它以原样存储在数据库中,如果我将它保存在rtf文件中,它将在写字板或单词中正确显示。 myTextBox.RTF肯定会收到有效的RTF数据。 – aam

+0

你可以显示图片被引用的RTF片段吗? – stuartd

回答