将2 listBox中的文本添加到一个listBox

时间:2013-08-24 13:14:07

标签: c# .net

如何将2个listBox中的项添加到一个listBox?

ex:listBox1包含Hello listBox2包含World!因此,如果在listbox3中单击button1将显示Hello World!再见,但不是像

这样的新行

您好

世界!

private void button2_Click(object sender, EventArgs e)
{
  listBox3.Items.Add(listBox1.Items + listBox2.Items);
}

2 个答案:

答案 0 :(得分:0)

private void button2_Click(object sender, EventArgs e)
{
  listBox3.Items.Add(string.Format("{0} {1}", listBox1.Items[0].ToString().Trim() , listBox2.Items[0].ToString().Trim()));
}

如果您需要两个列表框中的所有单词到一个列表框

private void button2_Click(object sender, EventArgs e)
{
  listBox3.Items.Add( string.Format("{0} {1}", string.Join(" ", listBox1.Items.Cast<string>()) , string.Join(" ", listBox2.Items.Cast<string>())));
}

更新:

private void button2_Click(object sender, EventArgs e)
{
  listBox3.Items.AddRange(listBox1.Items.Cast<string>().Zip(listBox2.Items.Cast<string>(), (first, second) => first + " " + second).ToArray());
}

答案 1 :(得分:0)

既然你说过;

  

listBox1中的所有单词都是+ listBox3中的listBox2

private void button2_Click(object sender, EventArgs e)
{
  string s = "";
  for(int i = 0; i < listBox1.Items.Count; i++)
  {
      s += listBox1.Items[i].ToString() + " ";
  }

  for(int j = 0; j < listBox2.Items.Count; j++)
  {
      s += listBox2.Items[j].ToString() + " ";
  }

  listBox3.Items.Add(s.Trim());
}
  

但是ex:我的listBox1包含Hello Hi Sup,我的listBox2包含World!   点击listBox3后,它将成为Hello Hi Sup World!代替   你好,世界!你好世界! Sup World!

如果您想要listBox3中的一个项目,则可以使用上层解决方案。如果您想要listBox3中的总共4项,则可以像使用它一样使用

private void button2_Click(object sender, EventArgs e)
{

  for(int i = 0; i < listBox1.Items.Count; i++)
  {
      listBox3.Items.Add(listBox1.Items[i].ToString());
  }

  for(int j = 0; j < listBox2.Items.Count; j++)
  {
      listBox3.Items.Add(listBox2.Items[j].ToString());
  }

}