2017-06-21 9 views
-2

C#のRichTextBoxに問題があります。.rtfファイルからRichTextBoxへのパス

私は次のようにリッチテキストボックスのテキストに負荷をしようとすると、 "C:\ Users \ユーザーadasal \デスクトップ\ raporty_handel \ RPTのRTFの\ bruegman.rtf \" 私はのようなものをgettingnの.rtfファイルから、 "C:_handel.rtf"

このコードは、Active Reportsコンソールに記述されています。

マイコード:

string resoult = "C:\\Users\\adasal\\Desktop\\raporty_handel\\rpt\\rtf\\bruegman.rtf"  
System.IO.FileStream rtfCreate = System.IO.File.Create(resoult); 
System.Byte[] info = new System.Text.UTF8Encoding(true).GetBytes(resoult); 
rtfCreate.Write(info, 0, info.Length); 
rtfCreate.Close(); 

System.IO.FileStream streamRTF = new System.IO.FileStream(resoult, 
System.IO.FileMode.Open, System.IO.FileAccess.Read);  
this.RichTextBox1.Load(streamRTF, RichTextType.Rtf); 

誰かを助けることができますか?私はレポートに全体のパスを表示したい。

+0

あなたの現在の例では、私にはあまり意味がありません、あなたがやろうとしている正確に何を説明してみてくださいすることができますか?私にとっては、 'resoult'で指定された場所に新しいファイルにファイル名(' resoult')を書いているようです。 'resoult'の内容は有効なRTFではないので、' RichTextBox'はあなたが見ている壊れたテキストのみを表示します。 'RichTextBox'が正しく読み込めるようにするには、有効なRTFファイルを作成する必要があります。 – bassfader

+0

.rtfファイルを作成し、それにつながるテキストパスを挿入します。 – adsal90

答えて

0

RTFで特別な意味を持つ '\'文字をエスケープする必要があります。たとえば :

public void ActiveReport_ReportStart() 
{ 
    string resoult = "C:\\Users\\adasal\\Desktop\\raporty_handel\\rpt\\rtf\\bruegman.rtf"; 
    this.RichTextBox1.RTF = resoult.Replace("\\", "\\\\"); 
} 
+0

"\\"を "/"で置き換えることができます。文字列resoult = "C:/Users/rpt/rtf/bruegman.rtf" –

関連する問題