C#如何实现ReadLine按一下按钮就读取下一行数据

TXT文件里有三行数据,我弄了个Button1对应一句ReadLine,然后点击button1就能在textbox1显示txt里的第一行数据,如何实现再点一次BUtton1,然后就读取第二行的数据,然后再点一次就输出第三行?

第1个回答  2013-01-11
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
System.IO.TextReader m_FileReader = null;
private void button1_Click(object sender, EventArgs e)
{
string line = ReadLine();
if (line == null)
{
MessageBox.Show("文件读完了");
}
else
{
MessageBox.Show(line);
}
}

private string ReadLine()
{
if (m_FileReader == null)
{
m_FileReader = new System.IO.StreamReader(@"D:\test.txt");
}

string line = m_FileReader.ReadLine();

return line;

}
protected override void OnClosed(EventArgs e)
{
if (m_FileReader != null)
{
m_FileReader.Close();
}
base.OnClosed(e);
}

}本回答被提问者采纳
第2个回答  2015-05-18
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
System.IO.TextReader m_FileReader = null;
private void button1_Click(object sender, EventArgs e)
{
string line = ReadLine();
if (line == null)
{
MessageBox.Show("文件读完了");
}
else
{
MessageBox.Show(line);
}
}

private string ReadLine()
{
if (m_FileReader == null)
{
m_FileReader = new System.IO.StreamReader(@"D:\test.txt");
}

string line = m_FileReader.ReadLine();

return line;

}
protected override void OnClosed(EventArgs e)
{
if (m_FileReader != null)
{
m_FileReader.Close();
}
base.OnClosed(e);
}

}
第3个回答  2013-01-11
创建一个窗体变量
StreamReader read=null;

当第一加载的情况时创建实例

然后不关闭该
StreamReader

在每次按钮点击时
执行

if(read.Peek() > 0)
{
read.ReadLine();
}
else
{
read.Close();
Message.show(....);

}

一般没必要这样操作吧~~你想搞什么?本回答被网友采纳
第4个回答  2013-01-12
button.click +=(sender,e)=>{readline();}
相似回答