【问题标题】:How to put a \n(new line) inside a list box?如何在列表框中放置 \n(new line)?
【发布时间】:2013-03-12 06:14:18
【问题描述】:

如何将换行符(\n) 放入列表框 .selected 项?在这里我有代码它生成所有链接,但我想在列表框中有所有这些链接,这些代码正在工作,但链接没有出现在新行中,所有链接都在单行中 我的代码是:

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());    
       }
    }
}

【问题讨论】:

  • 你没有正确分割字符串,你的TextBox2.Text里面的值是什么,看我的new answer

标签: c# asp.net


【解决方案1】:

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

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

【讨论】:

  • 添加正则表达式需要一些参考吗?
  • 你需要添加这个命名空间 System.Text.RegularExpressions
【解决方案2】:

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

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

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,然后你试图用逗号分割它,你的分割语句应该是:

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

【讨论】:

  • 兄弟它的工作,但我想要链接它会显示 somelink1,somelink2,somelink3,但我想要链接和链接生成,所以我不能手动正确所以你能指导我
  • @hitarth,应该有一种分割字符串的方法,如果你想动态分割,那么你的字符串应该有一个预定义的分隔符。
  • 请看我编辑的代码。从中你可以指导我应该通过什么字符串
  • @hitarth,TextBox2.Text 里有什么?
  • 兄弟,当我点击转换时,我生成的所有链接都出现在 textbox2 中,我希望 listbox1 中的链接,我得到这些链接但在单行中
【解决方案3】:

我猜你可以使用这个代码

【讨论】:

  • ListBox1.Items.Add(value.Trim() + " ");仍然无法正常工作
  • 你必须放置 ;也( )
【解决方案4】:

试试看有没有类似Listbox.Items.Row的东西

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

【讨论】:

  • 我累了 ListBox.Items.Add(value.Trim() + "\n ");仍然输出是单行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-02
  • 1970-01-01
相关资源
最近更新 更多