将文本插入附加到ListBox或ComboBox1

时间:2011-11-17 03:47:28

标签: c# winforms visual-studio-2010 combobox listbox

我有一行富文本框1:

my test
my test2 

并尝试使用此代码将行插入列表框或combox:

richTextBox1.Text = File.ReadAllText(@"New ID.txt").ToString();
listBox1.Items.Add(richTextBox1.Text);

但列表框显示

  

mytestmytest2

如何将每个项目作为新行插入(追加)?

3 个答案:

答案 0 :(得分:5)

您应该根据换行符拆分来自richTextBox1的文本。如果您想要列表框中的多个项目,则应为每个项目调用Items.Add。

示例:

richTextBox1.Text = File.ReadAllText(@"New ID.txt").ToString(); 

foreach (string line in richTextBox.Text.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None)
{
    listBox1.Items.Add(line); 
}

答案 1 :(得分:2)

richTextBox1.Text = File.ReadAllText(@"New ID.txt").ToString();
listBox1.Items.AddRange(richTextBox1.Text.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None));

你不需要循环插入所有项目。这可以通过使用Items.AddRange

来完成

答案 2 :(得分:1)

要逐个添加字符串,请使用File.ReadAllLines()方法。

string []lines=System.IO.File.ReadAllLines("file.txt");

    foreach(string str in lines)
     {
      listBox1.Items.Add(str);
     }

绘制文字的另一种方法是设置DrawMode=OwnerDrawVariable并处理DrawItem事件以绘制文字。