如果你不希望這是一個通用的方法,然後簡單地再次調用ReadLine方法和結果分配給textBox2.Text等:
private void sessionText()
{
try
{
using (System.IO.TextReader r = new System.IO.StreamReader("saved.txt"))
{
this.textBox1.Text = r.ReadLine();
this.textBox2.Text = r.ReadLine();
this.textBox3.Text = r.ReadLine();
}
}
catch (Exception x)
{
MessageBox.Show("Exception " +x);
}
}
注意,應該的TextReader被處置。那就是你需要調用它的Close()或Dispose()方法,因爲它是一個IDisposable。實際上,任何實現了IDisposable接口的對象都必須進行處理。
您通常使用「using」構造來完成此操作。但是,在你的情況,因爲你也有一個try-catch,你可以做這樣的:
private void button1_Click(object sender, EventArgs e)
{
System.IO.TextReader reader = null;
try
{
reader = new System.IO.StreamReader("saved.txt");
textBox1.Text = reader.ReadLine();
textBox2.Text = reader.ReadLine();
textBox3.Text = reader.ReadLine();
}
catch (Exception x)
{
MessageBox.Show("Exception " + x);
}
finally
{
if (reader != null)
reader.Close();
}
}
有你這段代碼使得雖然一個假設。通過這段代碼,我指的是我列出的所有代碼以及您列出的代碼,也就是說,您正在閱讀的文件中保證有3行文本。不是這種情況可能總是如此(在你的情況下,但你可能希望看到更加防禦性的方法來處理這種事情)
另外,你已經必須修改2行和1個文本框中的代碼到3行和3個文本框,也許是時候看看如何在下一次(當你的需求從3到10)時,你不需要修改你的代碼,而是讓它知道(一些如何)關於額外的文本框,它應該做正確的事情?或者也許你的應用程序中有一些知道「行」(無論它們表示)的數量,你可以使用這些信息?
只是一個想法。