在這裏我做的這個記事本只實現了一些簡單的功能。如:保存、複製、粘貼、自動換行、設置字體等......
注意:在做記事本的時候,我們要注意設計好窗體,設置好快捷鍵,方便後面的應用。
來看看我們設計的Windows窗體,在這裏我們要用到菜單欄(MenuStrip)控件和下拉菜單。
我們在設置窗體的時候,在設置文本框中的滾動條時,將文本框的ScrollBars設置爲Both,
WordWrap設置爲false,下面來看應用程序的代碼:
public frmMain() { InitializeComponent(); } //複製 private void mnuCopy_Click(object sender, EventArgs e) { this.txtContent.Copy(); } //粘貼 private void mnuPaste_Click(object sender, EventArgs e) { this.txtContent.Paste(); } //刪除 private void mnuDelete_Click(object sender, EventArgs e) { //在用戶選擇好內容並點擊刪除時提示,看是否真的要刪除 DialogResult dr= MessageBox.Show("是否真的要刪除選中內容?","提示框",MessageBoxButtons.YesNo,MessageBoxIcon.Question); if (dr==DialogResult.No) { return; } this.txtContent.Cut(); Clipboard.Clear(); } //剪貼 private void mnuCut_Click(object sender, EventArgs e) { this.txtContent.Cut(); } //全選 private void mnuSelectAll_Click_1(object sender, EventArgs e) { this.txtContent.SelectAll(); } //撤銷 private void mnuCancel_Click(object sender, EventArgs e) { this.txtContent.Undo(); } //新建 private void mnuNew_Click(object sender, EventArgs e) { this.txtContent.Text = ""; } //打開 private void mnuOpen_Click(object sender, EventArgs e) { //做一個OpenFileDialog對象,提示用戶打開文件 OpenFileDialog ofd = new OpenFileDialog(); DialogResult dr=ofd.ShowDialog(); if (dr==DialogResult.Cancel) { return; } //將所選擇的文件名給新定義的路徑 string path = ofd.FileName; //做一個讀取的的流,將路徑傳進去,並設置編碼格式 StreamReader sr = new StreamReader(path,Encoding.GetEncoding("gb2312")); //將選擇的文件中的內容都讀取出來,並放到文本框中 string s = sr.ReadToEnd(); this.txtContent.Text = s; sr.Close(); } //保存 string savePath = null; private void mnuSave_Click(object sender, EventArgs e) { //判斷路徑是否爲空 if (savePath == null) { //爲空的話就要選擇路徑,做一個SaveFileDialog對象,提示用戶選擇路徑 SaveFileDialog sfd = new SaveFileDialog(); DialogResult dr = sfd.ShowDialog(); if (dr == DialogResult.Cancel) { return; } //將所選擇的文件名給新定義的路徑 string path = sfd.FileName; //保存路徑是用戶所選擇的路徑 savePath = path; } //做一個寫入的的流,將路徑傳進去,並設置編碼格式 StreamWriter sw = new StreamWriter(savePath, false, Encoding.GetEncoding("gb2312")); //將文本框中的內容寫到所選的路徑中 sw.Write(this.txtContent.Text); sw.Flush(); sw.Close(); } //另存爲 private void mnuSaveAs_Click(object sender, EventArgs e) { //做一個SaveFileDialog類的對象,提示用戶選擇文件的保存路徑 SaveFileDialog sfd = new SaveFileDialog(); DialogResult dr = sfd.ShowDialog(); if (dr==DialogResult.Cancel) { return; } //得到路徑 string path = sfd.FileName; savePath = path; StreamWriter sw = new StreamWriter(savePath,false,Encoding.GetEncoding("gb2312")); sw.Write(this.txtContent.Text); sw.Flush(); sw.Close(); } //退出 private void mnuExit_Click(object sender, EventArgs e) { this.Close(); } //字體 private void mnuFont_Click(object sender, EventArgs e) { FontDialog fd = new FontDialog(); //選擇自字體的時候顯示的是當前字體 fd.Font = this.txtContent.Font; DialogResult dr=fd.ShowDialog(); if (dr==DialogResult.Cancel) { return; } //文本內容的字體是選擇的字體 this.txtContent.Font = fd.Font; } //自動換行 private void mnuWrape_Click(object sender, EventArgs e) { //每點一次它是否會選擇就會和當前的值相反 this.mnuWrape.Checked= !this.mnuWrape.Checked; //當前文檔是否換行 this.txtContent.WordWrap = this.mnuWrape.Checked; }
這樣我們就實現了一個簡單的記事本,在這裏面我們就可以進行基本的文本操作了。
編輯,保存我們的文檔。
加油!!!!