与Win7相比,富文本文件在Win10中的富文本框中显示方式有所不同

时间:2019-01-16 09:07:38

标签: c# windows richtextbox rtf

问题是当我在Win10 PC上进行编译时,带有图像的RTF文件未显示。

最近,我更换了PC,将OS升级到Win10,将VS升级到VS2017。 Win10是最新的,VS2017告诉我它具有C#所需的所有升级。我已经在Win 7 plus VS2015系统上编写和升级此应用程序两年多了,没有问题。我还用Win10 plus VS2017系统上的代码更改编译了同一个应用程序,没有问题。

为获得帮助,我使用了一个富文本文件,将其拉到“富文本”框中。我先

 private RichTextBox rtb_help;

然后在我使用的表单加载中

 rtb_help.Rtf = Resources.Help;

这使编写此文件的人员不具备编程知识,只需将我编译的新文件交给我即可。这就是本周早些时候发生的事情。当我编译应用程序并按下寻求帮助时,文件中没有图片。我发现是否可以将.RTF文件放回Win7 PC并用Wordpad重新保存,然后在可以工作的Win10系统上进行编译。

当我比较Win7 Wordpad和Win10 Wordpad的文件时,在图像周围看到以下差异。

Win7 = \pard\nowidctlpar\qc\f2\fs22{\pict\wmetafile8\picw5318\pich6694\picwgoal1839\pichgoal2315 
Win10 = \pard\nowidctlpar\qc\f2\fs22{\pict{\*\picprop}\wmetafile8\picw5318\pich6694\picwgoal1839\pichgoal2315 

Win10似乎使用{* \ picprop}从文件的其他位置引用了图像的属性。这意味着富文本框无法正确读取文件,因此遗漏了图像,并且没有错误/警告。

我在写字板中看不到任何设置可以更改此设置,但是也许它们是隐藏的,我需要特殊的按键顺序吗?

如何使RichTextBox正确显示两个文件中的图像?

1 个答案:

答案 0 :(得分:1)

偶然地,我找到了一篇有关如何缩小RTF和Doc文件的文章。看来您可以将文件限制为图像的一个副本。

建议在Win10中查找注册表项

HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options

并添加一个名为

的字符串
ExportPictureWithMetafile = 0

当我现在将RTF文件保存在Win10中并将其编译到应用程序中后,我感到非常惊讶。到目前为止,这是对我有用的解决方案。