富文本框忽略换行符
本文关键字:换行符 文本 | 更新日期: 2023-09-27 18:35:02
我正在读取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>
最有可能的是,您需要在 RTB 上启用 Multiline
属性。可以在窗体设计器的属性选项卡中执行此操作,也可以在如下所示的代码中执行此操作。
richTextBox1.Multiline = true;
编辑
问题是下行。您需要选择"上传"元素,而不是单个"上传"父标签
XmlNodeList nl = doc.GetElementsByTagName("upload");
我最终遇到了同样的问题,是的:
- 我将富文本框设置为多行和自动换行
- 我尝试了几个换行符,包括System.Environment.Newline
在与不同产品相关的Microsoft博客上,我找到了改用文本框的解决方法。您也可以将其设置为多行。当我将框的文本设置为字符串(包括换行符(时,它们现在正确显示。
好像是个错误?对我来说,解决方法现在很好,因为我不需要格式化。
问候马蒂亚斯