我正在阅读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>
答案 0 :(得分:3)
最有可能的是,您需要在RTB上启用Multiline
属性。您可以在表单设计器的属性选项卡中或在下面的代码中执行此操作。
richTextBox1.Multiline = true;
修改强>
问题在于以下内容。您需要选择“上传”元素而不是单个“上传”父标记
XmlNodeList nl = doc.GetElementsByTagName("upload");
答案 1 :(得分:0)
我最后遇到了同样的问题,是的:
在与其他产品相关的Microsoft博客上,我找到了使用TextBox的变通方法。您也可以将其设置为Multiline。 当我将文本框设置为包含换行符的字符串时,它们现在正确显示。
似乎是一个错误?对我来说,现在解决方法很好,因为我不需要格式化。
此致 的Matthias