5. 選中Form1.cs文件,再單擊“打開”。
文件名Form1.cs會在小的文本框中顯示,但文件的內容沒有在大文本框中顯示。這是由於我們還沒有實現相應的代碼來讀取源文件的內容,並在大文本框中顯示那些內容。下面的步驟將添加這個功能。
6. 關閉窗體,返回Visual Studio 2005。
7. 在“代碼和文本編輯器”窗口中顯示文件Form1.cs的代碼,找到openFileDialog_FileOk方法。
用戶在“打開”對話框中選擇了一個文件,並在單擊“打開”按鈕之後,調用該方法。方法的主體目前是:
string fullPathname = openFileDialog.FileName;
FileInfo src = new FileInfo(fullPathname);
filename.Text = src.Name;
/* add while loop here */
第一個語句聲明了一個字符串變量,名為fullPathname,並把它初始化為openFileDialog對象的FileName屬性。該語句將fullPathname初始化為“打開”對話框中選擇的源文件的完整名稱(包括路徑)。
注意 openFileDialog對象是可以從“工具箱”中選取的OpenFileDialog組件的一個實例。利用這個組件提供的方法,你可以向用戶顯示一個標准的Windows“打開”對話框,讓用戶從中選擇一個文件,並獲取所選文件的名稱和路徑。
第二個語句聲明了一個名為src的FileInfo變量,並把它初始化成代表“打開”對話框中所選文件的一個對象(FileInfo是Microsoft .Net Framework提供的一個類,可利用它對文件進行各種處理)。
第三個語句將src變量的Name屬性賦給filename控件的Text屬性。src變量的Name屬性包含了在“打開”對話框中選定的文件名(但無路徑信息)。通過此次賦值,文件名會在Windows窗體的filename組件中顯示。
8. 將/* add while loop here */注釋替換成以下語句:
source.Text = "";
source字段是窗體上最大的文本框。把它的Text屬性設置成空字符串(""),就可以清除當前顯示的任何文本。
9. 在剛才在openFileDialog_FileOk方法中添加的那一行語句之後,輸入以下語句:
TextReader reader = src.OpenText();
該語句聲明了一個名為reader的TextReader變量 (TextReader是.Net Framework提供的另一個類,它用於從文件這樣的來源中讀取字符流。該類位於System.IO命名空間中)。OpenFileDialog類提供了OpenText方法,它用於打開用戶在“打開”對話框中選擇的文件。OpenText方法返回的是一個TextReader對象。上述語句的作用就是將reader初始化為從src.OpenText方法調用中返回的TextReader對象。現在,可以使用reader變量來讀取用戶選擇的文件中的內容。
10. 在添加到openFileDialog_FileOk方法的上一行語句之後,接著輸入以下語句:
string line = reader.ReadLine();
while (line != null)
{
source.Text += line + '\n';
line = reader.ReadLine();
}
reader.Close();