问题是当我在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正确显示两个文件中的图像?
答案 0 :(得分:1)
偶然地,我找到了一篇有关如何缩小RTF和Doc文件的文章。看来您可以将文件限制为图像的一个副本。
建议在Win10中查找注册表项
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Options
并添加一个名为
的字符串ExportPictureWithMetafile = 0
当我现在将RTF文件保存在Win10中并将其编译到应用程序中后,我感到非常惊讶。到目前为止,这是对我有用的解决方案。