我在VS 2010专业版中使用VB.Net。
我需要从包含文本中换行符的XML文件中提取数据。换行位置标有以下字符“& #xA”。
使用XmlTextReader和XmlDocument我可以成功提取我需要的数据并将其显示在消息框和文本框中。消息框输出中显示的文本显示相关的换行,但文本框中的文本没有换行符,IE显示在一行上。
文本框多行和wordwrap属性设置为true。
以下文字直接取自xml文件“Photo:Any Image Ltd”& #xA“Ampthill v London Irish Wild Geese”& #xA“RFU National - SSE Nat League 2。
消息框输出正确显示换行符: -
文本框输出为: - 照片:Any Image Ltd Ampthill v London Irish Wild Geese RFU National - SSE Nat League 2.(无换行)
自启动此帖子以来,我将文本直接从文本框复制到“Word”中并显示换行符?
我现在更加困惑了!
发布此问题后,将文本框中的文本从我的应用程序复制到“Word”中,因为它显示了换行符,我意识到它必须与文本框本身有关。
我用“RichTextBox”替换了我的文本框,这显示了换行符!
我没有删除这个问题,因为这些微小的信息可能会帮助别人。
答案 0 :(得分:0)
您的问题提到了回车和换行符,但您的XML字符串只包含换行符(& #xA)字符。
TextBox似乎期望一个Environment.NewLine,它是Windows上的CRLF。 RichTextBox似乎接受CR,LF或CRLF作为换行符。例如:
Dim test$ = "This is a string with a linefeed here " & ControlChars.Lf & " and a carriage return here " & ControlChars.Cr & " and now a CRLF " & ControlChars.CrLf & " The end."
此字符串在多行TextBox中显示为两行,RichTextBox中显示四行,这是您已找到并发布的变通方法。