如何在列表框中放置\ n(新行)?

时间:2013-03-12 06:14:18

标签: c# asp.net

如何将换行符(\ n)放在列表​​框中。选择的项目?在这里我有代码它生成所有链接,但我想在列表框中有所有这些链接,这些代码正在工作,但链接不在新行中,所有都在单行中 我的代码是:

var links = TextBox1.Text.Split(new string[] { "\n", "\r" }, 
StringSplitOptions.RemoveEmptyEntries);

  foreach (var link in links)
        {
            if (!IsLinkWorking(link))
            {
                //Here you can show the error. You don't specify how you want to show it.
                TextBox2.ForeColor = System.Drawing.Color.Green; 
               TextBox2.Text += string.Format("{0}\nNot working\n\n ", link);
                //ListBox1.SelectedItem+= string.Format("{0}\nNot working\n\n ", link);
            }
            else
            {
               // ListBox1.SelectedValue += string.Format("{0}\nNot working\n\n ", link);
                TextBox2.Text += string.Format("{0}\n working\n\n", link);
            }

string[] values = TextBox2.Text.Split(',');

foreach (string value in values)
{
   if (value.Trim() == "")
       continue;
   ListBox1.Items.Add(value.Trim());    
       }
    }
}

4 个答案:

答案 0 :(得分:2)

您可以使用Regex.Split将字符串拆分为多行,如下所示:

foreach (string s in Regex.Split(TheStringwithNewLines, "\n"))
ListBox.Items.Add(s); 

答案 1 :(得分:1)

你的代码应该可以正常工作,我只能怀疑你没有正确分割字符串,你确定你的字符串中有,分隔符,因为只有这样你才会查看一行中的所有项目,因为拆分只生成一个项目

只需尝试示例代码,它就会以多行添加项目。

string str = "somelink1,somelink2,somelink3";
string[] values = str.Split(',');

foreach (string value in values)
{
    if (value.Trim() == "")
        continue;
    ListBox1.Items.Add(value.Trim());
}

现在,如果由于某种原因你最终得到字符串"somelink1 somelink2 somelink3",而没有逗号作为分隔符,你将在数组中得到一个字符串,它将出现在一行中。

编辑:根据您编辑过的问题。 您正在添加\n,然后您尝试将其拆分为逗号,您的split语句应为:

string[] values = TextBox2.Text.Split(new[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);

答案 2 :(得分:0)

尝试查看是否有类似Listbox.Items.Row

的内容

ListBox.Items.Add(value.Trim() + "<BR />");

答案 3 :(得分:0)

我猜您可以使用此代码
&amp;#13