我有一行富文本框1:
my test
my test2
并尝试使用此代码将行插入列表框或combox:
richTextBox1.Text = File.ReadAllText(@"New ID.txt").ToString();
listBox1.Items.Add(richTextBox1.Text);
但列表框显示
mytestmytest2
如何将每个项目作为新行插入(追加)?
答案 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事件以绘制文字。