我想要做的是从分隔的文本文件创建一个列表框。
列表框将根据文本文件的行填充X#行。列表框将有3列,每列都是从特定的分隔符填充的。这可能在C#中吗?任何出发点都会很棒!
答案 0 :(得分:0)
如果您想要多个列,则需要使用ListView
而不是ListBox
。
ListView lv = new ListView();
using (FileStream fs = new FileStream(@"c:\whatever.txt", FileMode.Open))
{
StreamReader reader = new StreamReader(fs);
while (!reader.EndOfStream)
{
string line = reader.ReadLine(); // e.g. "BOB|SMITH|JR."
string[] coldata = line.Split('|');
ListViewItem item = new ListViewItem(coldata);
lv.Items.Add(item);
}
}
注意:将ListView放在表单上时,将模式设置为Details
并添加所需的列标题。
答案 1 :(得分:0)
我建议您使用ListView(也设置详细信息视图,并添加包含三列的标题)。
private void addLineToListView(String col1Text, String col2Text, String col3Text)
{
ListViewItem lvItem;
if ((lvItem = this.listView1.Items.Add(col1Text)) != null)
{
lvItem.SubItems.Add(col2Text);
lvItem.SubItems.Add(col3Text);
}
}
加载文件也很简单:
private void AggregateTextFileIntoListView(String pathToFile)
{
using (TextReader tr = new StreamReader(pathToFile)))
{
String line;
while ((line = tr.ReadLine()) != null)
{
//* let's delimiter be ";".
String[] lineParts = line.Split(';');
addLineToListView(lineParts[0], lineParts[1], lineParts[2]);
}
tr.Close();
}
}