如何将换行符(\ 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());
}
}
}
答案 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