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 的解决方法。您也可以将其设置为 Multiline。当我将框的文本设置为包括换行符的字符串时,它们现在可以正确显示。

似乎是一个错误?对我来说,解决方法现在很好,因为我不需要格式化。

问候, 马蒂亚斯

于 2014-01-14T20:15:33.050 回答