1

ご覧のとおり、XML ファイルから読み取り、RTB を更新しています。これは、フォームのロード中に発生します。問題は、改行が適切に処理されていないことです。RTB は、以前に私のアプリケーションによって生成された URL を表示することになっていますが、改行が無視されるため、URL は次のように完全に壊れてしまいます。

http://XXXXXXXXX.com/Roberto/XXXXXXXXX.pdfhttp://xxxxxxxxxx.com/Roberto/xxxxxx.pdf

public Form1()
{
  InitializeComponent();
  tabControl1.SelectTab("tabPage1");
  XmlDocument doc = new XmlDocument();
  doc.Load(Path.GetTempPath() + "/Uploads.xml");
  XmlNodeList nl = doc.GetElementsByTagName("Uploads");
  foreach (XmlNode node in nl)
  {
    richTextBox1.AppendText(Environment.NewLine + node.InnerText + 
                                                  Environment.NewLine +"\t");  
  }
  this.listBox1.DragDrop += new DragEventHandler(this.listBox1_DragDrop);
  this.listBox1.DragEnter += new DragEventHandler(this.listBox1_DragEnter);
}

XML ファイル

<Uploads>
  <upload>http://xxxxxxxxxx.com/Roberto/xxxxxxxxx.pdf</upload>
  <upload>http://xxxxxxxxxx.com/Roberto/xxxxxxxxx.pdf</upload>
</Uploads>
4

2 に答える 2

3

Multilineほとんどの場合、RTB でプロパティを有効にする必要があります。これは、フォーム デザイナーのプロパティ タブ、または以下に示すコードで行うことができます。

richTextBox1.Multiline = true;

編集

問題は下の行です。単一の「アップロード」親タグではなく、「アップロード」要素を選択する必要があります

XmlNodeList nl = doc.GetElementsByTagName("upload");
于 2013-10-11T13:50:03.530 に答える
0

私は同じ問題で終わった、そしてはい:

  1. Richtextbox を Multiline と Wordwrap に設定しました
  2. System.Environment.Newline を含むいくつかの改行文字を試しました

別の製品に関連する Microsoft ブログで、代わりに TextBox を使用する回避策を見つけました。これを複数行に設定することもできます。ボックスのテキストを改行を含む文字列に設定すると、正しく表示されるようになりました。

バグのようですか?フォーマットは必要ないので、私にとっては回避策は今のところ問題ありません。

よろしく、 マティアス

于 2014-01-14T20:15:33.050 に答える