![第7章對(duì)話框.ppt_第1頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/26/6299cad0-b16b-41a8-a759-09fccfee7f45/6299cad0-b16b-41a8-a759-09fccfee7f451.gif)
![第7章對(duì)話框.ppt_第2頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/26/6299cad0-b16b-41a8-a759-09fccfee7f45/6299cad0-b16b-41a8-a759-09fccfee7f452.gif)
![第7章對(duì)話框.ppt_第3頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/26/6299cad0-b16b-41a8-a759-09fccfee7f45/6299cad0-b16b-41a8-a759-09fccfee7f453.gif)
![第7章對(duì)話框.ppt_第4頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/26/6299cad0-b16b-41a8-a759-09fccfee7f45/6299cad0-b16b-41a8-a759-09fccfee7f454.gif)
![第7章對(duì)話框.ppt_第5頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/26/6299cad0-b16b-41a8-a759-09fccfee7f45/6299cad0-b16b-41a8-a759-09fccfee7f455.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第7章 對(duì)話框,學(xué)習(xí)內(nèi)容與要點(diǎn) 如何建立自定義對(duì)話框 通用對(duì)話框控件的使用 文件與流 RichTextBox控件的使用,7.1 自定義對(duì)話框,對(duì)話框就是窗體的另外一種形式。 根據(jù)工作模式不同,對(duì)話框分為模態(tài)和非模態(tài)對(duì)話框兩種。 7.1.1 模態(tài)對(duì)話框 用戶必須顯式地關(guān)閉對(duì)話框后,才能與應(yīng)用程序的其它窗體進(jìn)行交互。,1.實(shí)現(xiàn)模態(tài)對(duì)話框的基本步驟 (1)將窗體的FormBorderStyle屬性更改為FixedDialog;將ControlBox、 MinimizeBox 、MaximizeBox和ShowInTaskBar屬性設(shè)置為 false (2)調(diào)用窗體的ShowDialog 方法顯示模態(tài)
2、對(duì)話框 2.對(duì)話框的返回值 (1)使用對(duì)話框的DialogResult 屬性 (2) ShowDialog方法的返回值。 if(dlg.DialogResult=DialogResult.OK) else ,3.檢索對(duì)話框輸入的信息和向?qū)υ捒蜉敵鲂畔?對(duì)話框一般用來(lái)輸出信息或輸入信息。一般通過(guò)對(duì)話框的屬性來(lái)公開(kāi)對(duì)話框信息。例如, public string InputText get return txtInput.Text; 利用InputText屬性返回對(duì)話框上文本框txtInput中用戶輸入的文本。 4. 默認(rèn)按鈕 通過(guò)設(shè)置窗體的AcceptButton屬性,確定按下回車鍵時(shí),哪個(gè)按鈕控
3、件應(yīng)該做出響應(yīng)。 通過(guò)設(shè)置窗體的CancelButton屬性確定按下ESC鍵時(shí),哪個(gè)按鈕控件應(yīng)該做出響應(yīng)。,7.1.2 非模態(tài)對(duì)話框,用戶不必關(guān)閉非模態(tài)對(duì)話框也可以在應(yīng)用程序的其它窗體上工作。 非模態(tài)對(duì)話框的實(shí)現(xiàn)與模態(tài)對(duì)話框基本相同,只是顯示非模態(tài)對(duì)話框,使用窗體的Show方法,7.2 通用對(duì)話框,通用對(duì)話框就是C#預(yù)置的一些對(duì)話框 。 7.2.1 消息框 用于向用戶顯示一些通知消息 。 MessageBox.Show()顯示消息框 。格式為: DialogResult Show (string text,string caption,MessageBoxButtons buttons,Mes
4、sageBoxIcon icon,MessageBoxDefaultButton defaultButton),例如: MessageBox.Show(“消息框的顯示內(nèi)容”,“消息框 的標(biāo)題,MessageBoxButtons.YesNoCancel ,MessageBoxIcon.Information);,7.2.2 文件打開(kāi)和保存對(duì)話框,由OpenFileDialog和SaveFileDialog類實(shí)現(xiàn) 1.常用屬性 (1)Filter屬性:文件名篩選字符串,篩選具有特定擴(kuò)展名的文件。形式為“所有文件*.*|*.*”,“|”,前面的字符串“所有文件*.*”用于顯示,后面的字符串“*.*”
5、才真正用于篩選。 (2)FilterIndex屬性:設(shè)置對(duì)話框文件名篩選器的索引。 (3)InitialDirectory屬性:設(shè)置對(duì)話框顯示的初始路徑。 (4)Title屬性:設(shè)置對(duì)話框的標(biāo)題。 (5)FileName屬性:返回對(duì)話框中用戶選定的路徑和文件名。 2.常用方法 (1)ShowDialog方法:顯示文件打開(kāi)或保存對(duì)話框。,3.文件與數(shù)據(jù)流概述,(1)FileStream類 用于完成文件打開(kāi)、讀寫(xiě)和關(guān)閉任務(wù)。構(gòu)造函數(shù)為: FileStream (string path,FileMode mode,FileAccess access) path指定文件的相對(duì)或絕對(duì)路徑;mode確定打
6、開(kāi)或創(chuàng)建文件,取值于枚舉FileMode: Create:創(chuàng)建新文件。若文件存在,則被改寫(xiě); CreateNew:創(chuàng)建新文件,若文件存在,則將引發(fā)異常; Open:打開(kāi)現(xiàn)有文件; OpenOrCreate:若文件存在,則打開(kāi),否則,創(chuàng)建新文件; Append:打開(kāi)現(xiàn)有文件并查找到文件尾,或創(chuàng)建新文件; Truncate:打開(kāi)現(xiàn)有文件。文件一旦打開(kāi),就將被截?cái)酁榱阕止?jié)大小,access用于控制對(duì)文件的讀訪問(wèn)、寫(xiě)訪問(wèn)或讀/寫(xiě)訪問(wèn)。取值于FileAccess枚舉,具體值為: Read:讀取文件; Write:寫(xiě)文件; ReadWrite:讀寫(xiě)文件。 (2)StreamReader類 用于讀取文本文件
7、或文本數(shù)據(jù)流。其構(gòu)造函數(shù)非常多,常見(jiàn)的有如下兩種形式: StreamReader (Stream stream) StreamReader (string path) stream指定要讀取的流;path指定讀取文件的完整路徑。 常用的方法有: Read方法:讀取流中的下一個(gè)字符。 ReadLine方法:讀取一行字符并將數(shù)據(jù)作為字符串返回。 ReadToEnd方法:讀取從流的當(dāng)前位置到末尾的所有字符。 Close方法:關(guān)閉流。,(3)StreamWriter類 用于寫(xiě)入文本文件或文本數(shù)據(jù)流。其構(gòu)造函數(shù)非常多,常見(jiàn)的有如下兩種形式: StreamWriter (Stream stream) St
8、reamWriter (string path) stream指定要寫(xiě)入的流;path指定寫(xiě)入文件的完整路徑。 常用的方法有: Write方法:把任何類型數(shù)據(jù)寫(xiě)入流。 WriteLine方法:將數(shù)據(jù)寫(xiě)入流,插入行結(jié)束符 Close方法:關(guān)閉流。,例7-2 使用文件保存對(duì)話框建立一個(gè)文件,并使用代碼向文件寫(xiě)入一句話 /using System.IO; SaveFileDialog sfdlg = new SaveFileDialog(); sfdlg.Filter = 所有文件*.*|*.*|文本文件*.txt|*.txt|C#文件|*.cs|C文件|*.c; sfdlg.InitialDire
9、ctory = c:user; sfdlg.Title = 保存文本文件; sfdlg.FilterIndex=2; /把文件過(guò)濾器設(shè)為第二項(xiàng)“*.txt” /如果用戶單擊文件保存對(duì)話框的“保存”按鈕,向文件寫(xiě)入“This is test” if(sfdlg.ShowDialog()=DialogResult.OK) FileStream fs =new FileStream(sfdlg.FileName, FileMode.OpenOrCreate, FileAccess.Write); StreamWriter fileStream=new StreamWriter(fs); fileSt
10、ream.WriteLine(This is a test); fileStream.Close();,7.2.3 顏色對(duì)話框,允許用戶從調(diào)色板選擇顏色以及將自定義顏色添加到調(diào)色板。 ColorDialog類實(shí)現(xiàn)顏色對(duì)話框。ShowDialog方法,顯示顏色對(duì)話框。 Color屬性記憶用戶選擇的顏色。 例7-3 使用顏色對(duì)話框改變靜態(tài)文本標(biāo)簽的背景色 ColorDialog clg = new ColorDialog(); if(clg.ShowDialog()=DialogResult.OK) label1.BackColor=clg.Color;,7.2.4 字體對(duì)話框,字體對(duì)話框是標(biāo)準(zhǔn)的
11、 Windows“字體”對(duì)話框,用于公開(kāi)系統(tǒng)上當(dāng)前安裝的字體。 FontDialog類實(shí)現(xiàn)字體對(duì)話框。ShowDialog方法顯示字體對(duì)話框,F(xiàn)ont屬性記憶用戶選擇的字體。Font是一個(gè)對(duì)象,它公開(kāi)字體、字型、字號(hào)等屬性。 例7-4 使用字體對(duì)話框設(shè)置靜態(tài)文本標(biāo)簽的字體 FontDialog fg = new FontDialog(); if(fg.ShowDialog()=DialogResult.OK) label1.Font=fg.Font;,7.2.5 打印對(duì)話框,PrintDialog顯示W(wǎng)indows標(biāo)準(zhǔn)打印對(duì)話框。可以在對(duì)話框中選擇打印機(jī)、選擇要打印的頁(yè)以及頁(yè)范圍和打印選定內(nèi)容
12、。 必須使用PrintDocument組件完成具體的打印任務(wù) 例7-5 使用PrintDialog和PrintDocument打印一個(gè)矩形 PrintDialog pd = new PrintDialog(); PrintDocument pdoc = new PrintDocument(); pdoc.PrintPage += new PrintPageEventHandler(pds_PrintPage); pd.Document=pdoc; private void button1_Click(object sender, EventArgs e) if(pd.ShowDialog()=
13、DialogResult.OK) pd.Document.Print(); private void pds_PrintPage(object sender, PrintPageEventArgs e) e.Graphics.FillRectangle(Brushes.Red, new Rectangle(500, 500, 500, 500);,文件處理習(xí)題,1 文件管理 File類和FileInfo類 2 目錄管理 Directory類和DirectoryInfo類 3 StreamReader和StreamWriter Read ReadLine ReadToEnd Write Writ
14、eLine,例7-1 文件整體讀取,編寫(xiě)一個(gè)程序,從磁盤上讀取文件bb. cpp中的內(nèi)容,并把這些內(nèi)容顯示到屏幕中。,static void Main(string args) StreamReader sr = new StreamReader(bb.txt); /一次性讀整個(gè)文件全部字符 string str1 = sr.ReadToEnd(); Console.WriteLine(str1); sr.Close(); ,例7-2 將“百雞問(wèn)題”的結(jié)果存入文件中,static void Main(string args) StreamWriter sr = new StreamWriter
15、(bb.txt,false); string str; for (int i = 0; i 20; i+) for (int j = 0; j 33 - 5 / 3 * i; j+) int k = 100 - i - j; if (5 * i + 3 * j + k / 3 = 100) str = Convert.ToString(i) + + Convert.ToString(j )+ + Convert.ToString(k); sr.WriteLine(str); sr.WriteLine(); sr.Close(); ,編寫(xiě)一個(gè)程序,可以讀入一個(gè)C+語(yǔ)言的源文件,每一行加上行號(hào)后保
16、存到另一個(gè)后綴為print.txt的文件中。 程序輸入輸出樣例: / Exercise 13_5 2 #include 27 return 0; 28 ,例7-3 文件管理,classTest staticvoidMain(stringargs) StreamReadersr=newStreamReader(aa.txt); StreamWritersw=newStreamWriter(bb.txt,false); inti=1,x; stringline=Convert.ToString(i)+; sw.Write(line); do x=sr.Read(); if(x!=-1) sw.Write(char)x); if(x=n) i+; line=Convert.ToString(i)+; sw.Write(line); else break; while(true); sr.Close(); sw.Close(); ,例7-4,從文件mytest.txt讀出全部?jī)?nèi)容,統(tǒng)計(jì)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 災(zāi)害預(yù)警系統(tǒng)建設(shè)合同
- 委托拉資金協(xié)議
- 房地產(chǎn)行業(yè)房屋交付使用后維修責(zé)任免責(zé)協(xié)議
- 委托專項(xiàng)技術(shù)服務(wù)合同
- 內(nèi)河水路運(yùn)輸合同
- 離婚后財(cái)產(chǎn)補(bǔ)充協(xié)議
- 單項(xiàng)工程承辦施工合同
- 新能源供應(yīng)鏈管理合作協(xié)議
- 烏魯木齊房屋租賃協(xié)議規(guī)定
- 數(shù)字化轉(zhuǎn)型整體解決方案服務(wù)合同
- 服裝行業(yè)環(huán)保低碳生產(chǎn)方案
- 三甲醫(yī)院臨床試驗(yàn)機(jī)構(gòu)-31 V00 專業(yè)組備案及考核SOP
- 鄂教版四年級(jí)心理健康教育全冊(cè)教案
- 胞嘧啶化學(xué)合成
- 部編版道德與法治小學(xué)四年級(jí)下冊(cè)全冊(cè)教學(xué)設(shè)計(jì)
- TCPHA 33-2024 通 用碼頭和多用途碼頭綠色港口等級(jí)評(píng)價(jià)指南
- 人教版語(yǔ)文五年級(jí)下冊(cè)《第八單元》大單元整體教學(xué)設(shè)計(jì)2022課標(biāo)
- VTE評(píng)分量表解讀 課件2024.8
- 信息技術(shù)咨詢服務(wù)合同5篇
- 《RT-Thread實(shí)時(shí)操作系統(tǒng)內(nèi)核、驅(qū)動(dòng)和應(yīng)用開(kāi)發(fā)技術(shù)》全套教學(xué)課件
- GB/T 44489-2024高級(jí)輔助駕駛地圖審查要求
評(píng)論
0/150
提交評(píng)論