使用C#設(shè)計仿Windows記事本資料_第1頁
使用C#設(shè)計仿Windows記事本資料_第2頁
使用C#設(shè)計仿Windows記事本資料_第3頁
使用C#設(shè)計仿Windows記事本資料_第4頁
使用C#設(shè)計仿Windows記事本資料_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第4章仿Windows記事本共三十三頁22記事本功能分析文件(wnjin)的讀寫StreamReader/StreamWriter通用對話框設(shè)計文件的編輯(復制、粘貼、剪貼)文本的查找與替換共三十三頁33計算器外觀設(shè)計共三十三頁界面設(shè)計MenuStrip控件LayoutStyle: Flow;可隨容器的大小發(fā)生改變菜單項ShortcutKeys: 設(shè)置快捷鍵ShortcutKeyDisplayStringEnabled: 設(shè)置菜單項是否(sh fu)可用Name:設(shè)置菜單項的名字Text:菜單項上顯示的文本共三十三頁界面設(shè)計RichTextBox控件Dock:Fill;隨容器的大小而改變自身大

2、小Modified:設(shè)置或判斷控件中的內(nèi)容是否被修改Selected:獲取或設(shè)置選定(xun dn)文本Font:獲取或設(shè)置字體共三十三頁66菜單項共三十三頁文件(wnjin)的讀、寫操作共三十三頁文件(wnjin)和流System.IO命名空間提供了操作文件與目錄的類文件的讀取需要用流(stream)來進行操作流就是C#中讀寫文件的通道(tngdo)程序通過輸入流從數(shù)據(jù)源讀取數(shù)據(jù),通過輸出流向目的地寫數(shù)據(jù)。數(shù)據(jù)源(文件、鍵盤、內(nèi)存)C#程序數(shù)據(jù)目的(文件、控制臺、內(nèi)存)輸入流輸出流共三十三頁System.IO.StreamWriter 寫文件(wnjin)StreamWriter sw =

3、new StreamWriter(“c:testfile.txt”, true, System.Text.Encoding.Default);/第一個參數(shù)為文件名,第二個參數(shù)判斷是否覆蓋(fgi)已有/文件 ,第三個參數(shù)為編碼方式sw.WriteLine(測試數(shù)據(jù)1);sw.WriteLine(測試數(shù)據(jù)2);sw.Write(測試數(shù)據(jù)3測試數(shù)據(jù)3測試數(shù)據(jù)3+ 測試數(shù)據(jù)3測試數(shù)據(jù)3測試數(shù)據(jù)3測試數(shù)據(jù)3+ 測試數(shù)據(jù)3測試數(shù)據(jù)3測試數(shù)據(jù)3測試數(shù)據(jù)3);sw.Close(); 共三十三頁System.IO.StreamReader 讀文件(wnjin)StreamReader sr = new Str

4、eamReader(“c:testfile.txt”, System.Text.Encoding.Default);MessageBox.Show(sr.ReadLine();MessageBox.Show(sr.ReadToEnd();sr.Close();共三十三頁通用(tngyng)對話框設(shè)計共三十三頁通用(tngyng)對話框概述在.NET框架中,提供了以下對話框類:打開文件(wnjin)對話框(OpenFileDialog)保存文件對話框(SaveFileDialog)字體對話框(FontDialog)顏色對話框(ColorDialog)頁面設(shè)置對話框(PageSetupDialog

5、)打印對話框(PrintDialog)等類。共三十三頁通用(tngyng)對話框的使用方法首先聲明一個通用對話框,設(shè)置一些必要屬性調(diào)用(dioyng)ShowDialog()方法打開對話框接收用戶與對話框交互操作的返回值,返回值是DialogResult實例OpenFileDialog dlg = new OpenFileDialog();dlg.Filter = 文本文件(*.txt)|*.txt|所有文件(*.*)|*.*;dlg.Title = 打開文件;if (dlg.ShowDialog() = DialogResult.OK) /顯示打開文件對話框 string _fileName

6、=dlg.FileName; 共三十三頁OpenFileDialog控件常用屬性說明FileName獲取或設(shè)置用戶在打開文件對話框中選擇的文件名Filter設(shè)置文件篩選過濾器,用于指定對話框中文件類型Multiselect設(shè)置是否允許選擇多個文件FileNames只讀屬性,獲取用戶選擇的多個文件名OpenFileDialog控件本身并不能打開文件,如要顯示文件可以通過創(chuàng)建StreamReader對象(duxing)來讀取文件內(nèi)容。共三十三頁OpenFileDialog odlg = new OpenFileDialog();odlg.Filter = 文本文件(*.txt)|*.txt|所有文

7、件(*.*)|*.*; odlg.Title = 打開(d ki)文件; if (odlg.ShowDialog() = DialogResult.OK) /顯示打開文件對話框 StreamReader sr = new StreamReader(odlg.FileName ,Encoding .Default ); rtxtContent.Text = sr.ReadToEnd(); sr.Close();共三十三頁SaveFileDialog控件常用屬性說明FileName獲取或設(shè)置用戶在保存文件對話框中選擇的文件名Filter設(shè)置文件篩選過濾器,用于指定對話框中文件類型AddExtens

8、ion設(shè)置在省略擴展名時,是否自動將擴展名添加到文件名上DefaultExt默認的文件擴展名SaveFileDialog控件本身并不能保存(bocn)文件,如要寫文件可以通過創(chuàng)建StreamWriter對象來實現(xiàn)。共三十三頁SaveFileDialog sdlg = new SaveFileDialog();sdlg.Filter = 文本文件(*.txt)|*.txt|所有文件(wnjin)(*.*)|*.*; sdlg.Title = “保存文件;Sdlg.AddExtension=true;Sdlg.DefaultExt=“.txt”; if (sdlg.ShowDialog() = D

9、ialogResult.OK) /顯示保存文件對話框 StreamWriter sw = new StreamWriter(sdlg .FileName ,true,Encoding .Default ); sw.Write (rtxtContent.Text); sw.Close();共三十三頁FontDialog控件用于設(shè)置文本(wnbn)字體,可以改變字體、字號、字形、顏色等。共三十三頁常用屬性說明Font獲取或設(shè)置選定的字體ShowColor是否顯示顏色選項,默認為不顯示ShowEffects是否包含特殊效果選項,如刪除線,下劃線等,默認為顯示 private void mnuFont

10、_Click(object sender, EventArgs e) /修改(xigi)字體 FontDialog fontDialog1 = new FontDialog(); fontDialog1.ShowColor =true ; if (fontDialog1.ShowDialog() = DialogResult.OK) rtxtContent.Font = fontDialog1.Font; 共三十三頁記事本功能(gngnng)實現(xiàn)共三十三頁實現(xiàn)(shxin):另存為分析:一、文件(wnjin)菜單“另存為”的單擊事件:設(shè)置saveFileDialog1的屬性;創(chuàng)建StreamW

11、riter對象,取名為sw1, 使用sw1將rtxtContent中的內(nèi)容寫入到指定的文件中;設(shè)置rtxtContent.Modified=false;設(shè)置_filename字段;關(guān)閉sw1對象在記事本窗體中設(shè)置字段或聲明對象:添加一個變量_filename,用來保存文件名;聲明一個SaveFileDialog類控件,取名為saveFileDialog1共三十三頁實現(xiàn)(shxin):保存分析:(以下內(nèi)容均在“保存”菜單項的單擊事件中實現(xiàn))一、文件(wnjin)菜單創(chuàng)建StreamWriter對象,將修改過的內(nèi)容保存到現(xiàn)有文件中 判斷:文件是否存在(已保存過)調(diào)用“另存為”的功能代碼 是否共三十

12、三頁實現(xiàn):新建分析(fnx)(以下內(nèi)容均在“新建”菜單項的單擊事件中實現(xiàn))一、文件(wnjin)菜單判斷:rtxtContent中是否有修改后未作的內(nèi)容,條件為真:彈擊消息框,提示是否需要保存Yes:調(diào)用“保存”功能No:不作任何操作Cancel:設(shè)置 _isContinue=false添加一個標志:bool _isContinuetrue;判斷:_isContinue,條件為真:將rtxtContent清空;設(shè)置 form1.Text=新建文本文檔_記事本;設(shè)置 _filename=“”;共三十三頁實現(xiàn):打開(d ki)分析(以下內(nèi)容均在“打開”菜單項的單擊事件中實現(xiàn))一、文件(wnjin)

13、菜單判斷:rtxtContent中是否有修改后未作的內(nèi)容,條件為真:彈擊消息框,提示是否需要保存Yes:調(diào)用“保存”功能No:不作任何操作Cancel:設(shè)置 _isContinue=false添加一個標志:bool _isContinuetrue;判斷:_isContinue,條件為真:聲明一個OpenFileDialog控件創(chuàng)建一個StreamReader類對象將指定的文件顯示出來共三十三頁二、編輯(binj)菜單實現(xiàn)(shxin):剪切,復制,粘貼,刪除,撤銷,全選分析:RichTextBox的常用屬性和方法常用屬性說明Select()選擇文本SelectAll()選擇所有內(nèi)容Cut()將

14、選擇的內(nèi)容剪切至剪貼板Copy()將選擇的內(nèi)容復制至剪貼板Paste()將剪貼板中的內(nèi)容粘貼至光標處Undo()撤銷ClearUndo()消除最近的撤銷信息SelectionLength選擇內(nèi)容的長度SelectedText選擇的文本共三十三頁當“編輯”菜單(ci dn)的Click事件和DropDownOpened事件發(fā)生時,判斷“編輯”菜單下的各二級菜單項是否可用。rtxtContent.Modified撤銷(chxio)rtxtContent.SelectedTextrtxtContent.Text剪切、復制、刪除Clipboard.GetText().ToString()查找、替換粘貼

15、二、編輯菜單共三十三頁三、查找(ch zho)與替換創(chuàng)建用戶自定義對話框?qū)υ捒蚺c窗口的不同(b tn)主要體現(xiàn)在對話框不能調(diào)整大小。因此將窗體設(shè)置成對話框,需設(shè)置窗體的幾個屬性。常用屬性說明FormBorderStyle提示窗體的邊框和標題欄的外觀和行為MaximizeBox確定窗體標題欄是否有最大化框MinimizeBox確定窗體標題欄是否有最小化框StartPosition確定窗體第一次出現(xiàn)時的位置AcceptButton設(shè)置窗體的“接受”按鈕,用戶按“Enter“鍵,都相當于單擊該按鈕共三十三頁1. 實現(xiàn)(shxin):查找三、查找(ch zho)與替換關(guān)鍵技術(shù):富文本框的Find()方

16、法 rtxtContent.Find(searchString); rtxtContent.Find(searchString,searchPosition, RichTextBoxFinds.MatchCase);富文本框的Select()方法rtxtContent.Select(startPosition, selectLength);共三十三頁/添加兩個(lin )成員字段 int _findPosition=0; string _findString=“”; private void mnuFind_Click(object sender, EventArgs e) frmFind f

17、rmFind1 = new frmFind(); if (frmFind1.ShowDialog() = DialogResult.OK) _findString = frmFind1.strFind; Find(); /調(diào)用Find()方法進行(jnxng)查找 共三十三頁public void Find() /查找方法 _findPosition = rtxtContent.Find(_findString ,_findPosition,RichTextBoxFinds.MatchCase ); if (_findPosition = -1)/表示(biosh)未找到 MessageBox

18、.Show(找不到 + _findString, 記事本, MessageBoxButtons.OK, MessageBoxIcon.Information); _findPosition = 0; else rtxtContent.Select(_findPosition, _findString.Length); _findPosition += _findString.Length; 共三十三頁2. 實現(xiàn)(shxin):替換三、查找(ch zho)與替換關(guān)鍵技術(shù):用到字符串的Replace()方法,對選定的內(nèi)容進行查找替換。string1.Replace(searchString,replaceString)共三十三頁32總結(jié)(zngji)WinForms可用于 Windows 窗體應(yīng)用程序開發(fā)Windows 窗體控件是從 System.Windows.Forms.Control 類派生的類菜單控件MenuStrip通用(tngyng)對話框用戶自定義對話框共三十三頁內(nèi)容摘要第4章。文件的編輯(復制、粘貼、剪貼)。隨容器的大小而改變自身大

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論