如何逐行读取文件并打印到文本框c#

Ric*_*ion 0 c# streamreader windows-forms-designer

我正在开发一个Windows窗体应用程序,我想从我的本地机器上获取一个文本文件,让应用程序读取文本文件,并将文件中的每一行文本显示在应用程序的文本框中.我想按下表单上的一个按钮并显示文本文件的第一行,然后再次按下按钮并显示第二行等.我一直在寻找方法来做到这一点并发现StreamReader将会可能是我想要实现的最好的.

我目前有以下代码,但它似乎将每一行打印到一行.如果有人能够理解为什么,我将非常感激,我确信它的东西很小.

private void btnOpen_Click(object sender, EventArgs e)
{
    string file_name = "G:\\project\\testFile.txt";
    string textLine = "";

    if (System.IO.File.Exists(file_name) == true)
    {
        System.IO.StreamReader objReader;
        objReader = new System.IO.StreamReader(file_name);

        do
        {
            textLine = textLine + objReader.ReadLine() + "\r\n";
        } while (objReader.Peek() != -1);

        objReader.Close();
    }
    else
    {
        MessageBox.Show("No such file " + file_name);
    }

    textBox1.Text = textLine;
}
Run Code Online (Sandbox Code Playgroud)

Mic*_*zyn 6

我会以下列方式做到:

您正在使用Windows窗体,因此您将一个Form类作为主类.

在本课程中,我将定义:

private string[] _fileLines;
private string _pathFile;
private int _index = 0;
Run Code Online (Sandbox Code Playgroud)

在构造函数中我会这样做

_fileLines = File.ReadAllLines(_pathFile);
Run Code Online (Sandbox Code Playgroud)

并在按钮单击事件处理程序中我会这样做:

textBox1.Text = _fileLines[_index++];
Run Code Online (Sandbox Code Playgroud)