我想逐行阅读文本文件。但是,我想要做的是每次单击按钮时它会读取下一行并将其插入文本框。因此,在单击按钮之前,它不会将下一行插入文本框。
[代码]
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++;
}
}
//当我多次单击该按钮时,此代码没有任何反应。
答案 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();
}
}