2013-10-11 3 views
1

Я читаю из файла XML и обновляю RTB, как вы могли видеть. Это происходит во время загрузки формы. Проблема в том, что строки новой строки не обрабатываются должным образом. RTB должен показать URLs, сгенерированные моим приложением ранее, и поскольку новые строки игнорируются в URL, получить полностью подогнаны так:RichTextBox игнорирует новые строки

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> 
+3

страшный URL никогда – Jonesopolis

+0

Вы уверены, что проблема не в файле XML? Вы прошли через цикл foreach, каждый URL-адрес в отдельной строке? –

+0

Да, определенно. То, что едва ли правдоподобно, было правильно обработано вчера, когда я ушел с работы. Сегодня я вошел, все одно и то же, но RTB ведет себя по-другому. – Sai

ответ

3

Скорее всего, вам необходимо включить объект Multiline на свой RTB. Вы можете сделать это на вкладке свойств в конструкторе форм или в коде, как показано ниже.

richTextBox1.Multiline = true; 

РЕДАКТИРОВАТЬ

Проблема заключается в следующую строку. Вы должны выбрать «загрузить» элементы не сингл «Загрузить файл» родительский тег

XmlNodeList nl = doc.GetElementsByTagName("upload"); 
+0

Извините, я просто заметил, что URL-адрес здесь по моему вопросу отображается в одной строке. Для параметра Multiline установлено значение true, и я не могу заставить его отображаться здесь правильно (поскольку он отображается в моем RTB). Чтобы дать вам представление. В строке 1 отображается 3/4 первого URL-адреса, остаток 1/4 завершается на следующую строку и отображается вместе со вторым URL-адресом в виде 1 строки. – Sai

+0

Можете ли вы включить фрагмент из вашего фактического XML в свой вопрос? – EkoostikMartin

0

Я закончил с той же проблемой, и да:

  1. Я поставил RichTextBox в Multiline и WordWrap
  2. я попытался несколько символов новой строки, включая System.Environment.Newline

на блоге Microsoft, связанной с другой продукт я нашел обходной путь от использования TextBox вместо. Вы также можете установить это в Multiline. Когда я устанавливаю поле «Текст в строку», включая разрывы строк, они отображаются правильно.

Кажется, ошибка? Для меня обходной вариант сейчас прекрасен, так как мне не нужно форматировать.

С уважением, Matthias

Смежные вопросы