我正在尝试将由word 2013创建的.rtf文件加载到richtextbox中,但我的内容格式有问题..我试过这段代码..
RichTextBox1.LoadFile(App_Path & "/Artikel/Profile/Info Num1.rtf", RichTextBoxStreamType.RichText)
显示的内容但缺少内容格式......
然后我尝试将此代码发送给......
Dim SR As StreamReader
SR = File.OpenText(App_Path & "/Artikel/Profile/Info Num1.rtf")
RichTextBox1.Rtf = SR.ReadToEnd
SR.Close()
显示内容并且文本格式显示良好,但表格和图像不规则..
简单问题如何在不丢失包含表格和图像格式的内容格式的情况下将.rtf文件加载到richtextbox?
答案 0 :(得分:0)
这取决于RTF版本。您在RichTextBox控件中使用的版本是RTF 1.6,它可能与您的Microsoft Office Word应用程序不同。显然,您无法使用以后版本中添加的功能。
RichTextBox支持旧版本的RTF格式。此控件不支持在Microsoft Word中创建的所有类型的格式。 Becausae的RTF版本可以不同。
Microsoft Office使用RichTextBox控件无法支持的以下版本的RTF格式。
答案 1 :(得分:0)
您可能需要升级RichTextBox组件:
public class RichBoxEx : RichTextBox {
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr LoadLibrary(string lpFileName);
protected override CreateParams CreateParams {
get {
var cp = base.CreateParams;
if (LoadLibrary("msftedit.dll") != IntPtr.Zero) {
cp.ClassName = "RICHEDIT50W";
}
return cp;
}
}
}
并使用更安全的Path.Combine版本加载文件:
richBoxEx1.LoadFile(Path.Combine(App_Path, @"Artikel/Profile/Info Num1.rtf"));
有些功能会被删除,因为RichTextBox不支持页眉和页脚等。