使用StreamReader逐行读取以在ListBox中添加项目

时间:2013-10-19 00:32:55

标签: c# listbox line streamreader readline

我正在尝试制作一个逐行读取的StreamReader,然后,每一行都是我的ListBox中的一个Item ...目前,我认为我的代码被破坏了。它现在的问题是它只放置文本文件的第一行。此外,如果我在代码的开头删除以下代码,当我第二次加载它时,它可以工作,但第一行有2次,1在结尾,1在开始:

lines.Clear();

这是:

    public void loadViewlist_But_Click(object sender, EventArgs e)
    {
        if (listBox1.DataSource == lines)
        {
            listBox1.DataSource = null;
            lines.Clear();
        }
        listBox1.Items.Clear();
        OpenFileDialog selectViewlist = new OpenFileDialog();
        selectViewlist.AddExtension = true;
        selectViewlist.Filter = "ImageViewerList Files|*.imlist";
        selectViewlist.FilterIndex = 1;
        selectViewlist.RestoreDirectory = true;

        if (selectViewlist.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {

            using (StreamReader viewListReader = new StreamReader(selectViewlist.FileName))
            {
                int counter = 0;
                string line;
                while ((line = viewListReader.ReadLine()) != null)
                {
                    lines.Add(line);
                    listBox1.DataSource = lines;
                    counter++;
                }
            }
        }
    }

如果有人能解释我并帮助我,那将非常感激。

0 个答案:

没有答案