2011-02-18 124 views
4

好吧,所以我讀了關於加載嵌入式RTF到豐富的文本框,我試圖做的時候窗體加載。表單不是主窗體,它是單擊控件時加載的第二種窗體。這是我在窗體上加載時:加載嵌入式資源.rtf文件到richtextbox加載C#

private void Credits_Load(object sender, EventArgs e) 
{ 
    Assembly creditAssm = Assembly.GetExecutingAssembly(); 
    using (Stream creditStream = 
    creditAssm.GetManifestResourceStream("YDisplayView.credits.rtf")) 
    { 
     creditsRichTextBox.LoadFile(creditStream, RichTextBoxStreamType.RichText); 
    } 
} 

在Solution Explorer中的RTF文件顯示作爲一種資源和構建操作設置爲嵌入的資源。

當我點擊按鈕加載表單時,它顯示爲預期,但沒有任何反應。 RTF格式的內容似乎並沒有顯示:/

我只能假設我做錯了:(

這個新手任何幫助,將不勝感激

回答

9

我想通了:

creditAssm.GetManifestResourceStream("YDisplayView.credits.rtf")) 

需要的是:

creditAssm.GetManifestResourceStream("YDisplayView.Resources.credits.rtf")) 

編輯:出於某種原因,這陣子我不能讓上面的代碼工作,但我發現另外一個,這樣做是希望要麼/或將有一定的幫助,以新編碼器在那裏:)

string rtf = yourAppName.Properties.Resources.yourEmbeddedRTFName; 
     yourRichTextBox.Rtf = rtf; 
+1

將其標記爲答案朋友:)。 – 2011-03-07 16:31:04

2

我想創建一個名爲Help.rtf的rtf幫助文件,並將其作爲資源進行存儲,因此可以在加載幫助窗體而不在應用程序文件夾周圍掛着一個Help.rtf的情況下加載它。

我發現我需要通過菜單的項目 - >'您的名字空間'屬性...添加rtf文件到資源,然後導航到資源選項卡,然後添加項目等等等等...在智能感知當我輸入'My.Resource'時會在它的下拉列表中提供rtf文件。現在,包括我添加的幫助文件的資源列表顯示出來(沒有擴展名,這是正常的)。

總之,一旦這樣做的目的,那麼下面的工作:

RichTextBox1.rtf = My.Resources.Help 

顯然,這是不夠的只是拖動&刪除,複製甚至使用「Solution Explorer中的」添加文件!

在這個問題上花了3天,所以我希望有人發現它有用。