0

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

行。清除();

这里是:

    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++;
                }
            }
        }
    }

如果有人可以解释我并帮助我,那将不胜感激。

4

0 回答 0