如何在c#中单击按钮时逐行读取文本文件

时间:2014-09-27 17:59:48

标签: c# file streamreader

我想逐行阅读文本文件。但是,我想要做的是每次单击按钮时它会读取下一行并将其插入文本框。因此,在单击按钮之前,它不会将下一行插入文本框。

[代码]

    int lineCount = File.ReadAllLines(@"C:\test.txt").Length;
    int count = 0;


    private void button1_Click(object sender, EventArgs e)
    {
        var reader = File.OpenText(@"C:\test.txt");


        if (lineCount > count)
        {
            textBox1.Text = reader.ReadLine();
            count++;
        }
    }

//当我多次单击该按钮时,此代码没有任何反应。

1 个答案:

答案 0 :(得分:2)

您应该将StreamReader定义为您班级的一个字段:

System.IO.StreamReader file = null;
private void button1_Click(object sender, EventArgs e)
{
    string line;

    if (file == null)
        file = new System.IO.StreamReader("c:\\test.txt");
    if (!file.EndOfStream)
    {
        string line = file.ReadLine();
        textBox1.Text = line;
    }
    else
    {
        MessageBox.Show("End");
        file.Close();
    }
}