2012-05-18 53 views
9

すべて、下線付き、太字などの書式を持つ.rtfファイルにログファイルを書きます。このファイルを保存しました。 RichTextBoxは後でその書式を維持します。私は以下を試しました.rtfファイルをリッチテキストボックスにロードして書式設定を維持/維持する

tmpRichTextBox.LoadFile(@"F:\Path\File.rtf", RichTextBoxStreamType.RichText); 

ファイルを読み込みましたが、私の元の書式はありません。 .rtfを単語にロードすると、書式設定が表示されます。 .rtfをRichTextBoxの書式設定を含む)に戻すにはどうすればよいですか?

お時間をいただきありがとうございます。

+0

ご提供いただいたコードは動作します。あなたは別のRTFファイルを試しましたか?私はRTFに誤りがあるかもしれないと想像することができますか? –

+0

はい、それはまったくフォーマットしません... – MoonKnight

答えて

1

あなたはNRTFTreeをチェックしましたか?

RTF管理のための素晴らしいライブラリです。

1

編集:
それはあなたのコード内で後で整形を失っている可能性があります。定型化の喪失を引き起こす可能性のある操作があります。たとえば、 richTextBox.Font = newFont;

私はこの問題を抱えていましたが、幸いにもその周りに道が見つかりました。ここでは、整形を失うことなく、フォントを変更できるようになるコードは次のとおりです。

richTextBox.SelectAll(); 
richTextBox.SelectionFont = newFont; 
string rtf = richTextBox.SelectedRtf; 
richTextBox.Font = newFont; 
richTextBox.Rtf = rtf; 
+0

こんにちは@Dzienny、それは '仕事'なので、質問はしません。 RTFファイルを保存し、それを 'RichTextBox'に読み込むと、フォーマットが消えます。御時間ありがとうございます。 – MoonKnight

+0

こんにちは@Killercam rtfファイルを 'RichTextBox'にロードするコードは動作します。あなたがコードの後半で定型化を失う可能性が最も高いです。この問題に対処するための答えを編集しました。 – Dzienny

1

HTML形式にログファイルを保存することができた場合は、Webブラウザーコントロールを使用してこのファイルを読むことができます。このよう は:

private void button1_Click(object sender, EventArgs e) 
    { 
    string fileName = Path.Combine(Environment.CurrentDirectory, "log1.htm"); 

     webBrowser1.DocumentText = File.ReadAllText(fileName); 
    } 

これはperfectrly動作します。

関連する問題