【问题标题】:Append Text Insert to ListBox or ComboBox1将文本插入追加到 ListBox 或 ComboBox1
【发布时间】:2011-12-31 00:04:23
【问题描述】:
我有一个 RichTextBox1 与这一行:
my test
my test2
并尝试使用此代码将行插入列表框或组合框:
richTextBox1.Text = File.ReadAllText(@"New ID.txt").ToString();
listBox1.Items.Add(richTextBox1.Text);
但列表框显示
mytestmytest2
如何将每个项目插入(附加)为新行?
【问题讨论】:
标签:
c#
winforms
visual-studio-2010
combobox
listbox
【解决方案1】:
要逐个添加字符串,请使用File.ReadAllLines() 方法。
string []lines=System.IO.File.ReadAllLines("file.txt");
foreach(string str in lines)
{
listBox1.Items.Add(str);
}
另一种绘制文本的方法是设置DrawMode=OwnerDrawVariable并处理DrawItem事件来绘制文本。
【解决方案2】:
您应该根据换行符拆分来自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);
}
【解决方案3】:
richTextBox1.Text = File.ReadAllText(@"New ID.txt").ToString();
listBox1.Items.AddRange(richTextBox1.Text.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None));
您不需要循环插入所有项目。这可以通过使用 Items.AddRange 来完成