将资源文件中的Word文档显示到RichTextBox控件

时间:2012-03-12 09:42:08

标签: c# winforms .net-2.0

我将Word文档导入到项目的资源文件中。

是否可以提取此文档并将其显示在我的应用程序的RichTextBox控件中?

我能够使用下面的类从项目的资源文件中提取字符串和图像对象。

enter image description here

namespace TestProject
{
    public class Utilities
    {
        private static ResourceManager _resource = new ResourceManager("TestProject.Resource1", Assembly.GetExecutingAssembly());

        public static string GetString(string name)
        {
            return (System.String)(_resource.GetString(name));
        }

        public static Image GetImage(string name)
        {
            return (System.Drawing.Image) (_resource.GetObject(name));
        }
    }
}

1 个答案:

答案 0 :(得分:1)

RTF格式化为字符串,如果将其添加到资源文件的“文件”部分,它将使用属性包装它以读取字符串。

那是:

Properties.Resources.YourDocument;

实现为:

    internal static string YourDocument {
        get {
            return ResourceManager.GetString("YourDocument", resourceCulture);
        }
    }

并返回富文本,如下所示:

  

{\ RTF1 \ ANSI \ ansicpg1252 \ deff0 \ deflang3081 {\ fonttbl {\ F0 \ fnil \ fcharset0   Calibri;}} {\ colortbl; \ red255 \ green255 \ blue0;} {* \ generator Msftedit   5.41.21.2510;} \ viewkind4 \ UC1 \ PARD \ SA200 \ sl276 \ slmult1 \ CF1 \ lang9 \ F0 \ FS22   Rich \ cf0,多行文字。\ par \ par是\ b \ fs32 here \ b0 \ fs22 \ par}

离开你只是需要做:

richTextBox1.Rtf = RichTextResource.Properties.Resources.YourDocument 

假设文档实际上保存为富文本。单词doc将显示为垃圾。

最后,如果您的资源存储为byte [],则需要先转换为字符串。即。

richTextBox1.Rtf = System.Text.Encoding.UTF8.GetString(bytes), assuming its UTF8 encoded.