




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第7章 對話框,學(xué)習(xí)內(nèi)容與要點 如何建立自定義對話框 通用對話框控件的使用 文件與流 RichTextBox控件的使用,7.1 自定義對話框,對話框就是窗體的另外一種形式。 根據(jù)工作模式不同,對話框分為模態(tài)和非模態(tài)對話框兩種。 7.1.1 模態(tài)對話框 用戶必須顯式地關(guān)閉對話框后,才能與應(yīng)用程序的其它窗體進(jìn)行交互。,1.實現(xiàn)模態(tài)對話框的基本步驟 (1)將窗體的FormBorderStyle屬性更改為FixedDialog;將ControlBox、 MinimizeBox 、MaximizeBox和ShowInTaskBar屬性設(shè)置為 false (2)調(diào)用窗體的ShowDialog 方法顯示模態(tài)
2、對話框 2.對話框的返回值 (1)使用對話框的DialogResult 屬性 (2) ShowDialog方法的返回值。 if(dlg.DialogResult=DialogResult.OK) else ,3.檢索對話框輸入的信息和向?qū)υ捒蜉敵鲂畔?對話框一般用來輸出信息或輸入信息。一般通過對話框的屬性來公開對話框信息。例如, public string InputText get return txtInput.Text; 利用InputText屬性返回對話框上文本框txtInput中用戶輸入的文本。 4. 默認(rèn)按鈕 通過設(shè)置窗體的AcceptButton屬性,確定按下回車鍵時,哪個按鈕控
3、件應(yīng)該做出響應(yīng)。 通過設(shè)置窗體的CancelButton屬性確定按下ESC鍵時,哪個按鈕控件應(yīng)該做出響應(yīng)。,7.1.2 非模態(tài)對話框,用戶不必關(guān)閉非模態(tài)對話框也可以在應(yīng)用程序的其它窗體上工作。 非模態(tài)對話框的實現(xiàn)與模態(tài)對話框基本相同,只是顯示非模態(tài)對話框,使用窗體的Show方法,7.2 通用對話框,通用對話框就是C#預(yù)置的一些對話框 。 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 文件打開和保存對話框,由OpenFileDialog和SaveFileDialog類實現(xiàn) 1.常用屬性 (1)Filter屬性:文件名篩選字符串,篩選具有特定擴展名的文件。形式為“所有文件*.*|*.*”,“|”,前面的字符串“所有文件*.*”用于顯示,后面的字符串“*.*”
5、才真正用于篩選。 (2)FilterIndex屬性:設(shè)置對話框文件名篩選器的索引。 (3)InitialDirectory屬性:設(shè)置對話框顯示的初始路徑。 (4)Title屬性:設(shè)置對話框的標(biāo)題。 (5)FileName屬性:返回對話框中用戶選定的路徑和文件名。 2.常用方法 (1)ShowDialog方法:顯示文件打開或保存對話框。,3.文件與數(shù)據(jù)流概述,(1)FileStream類 用于完成文件打開、讀寫和關(guān)閉任務(wù)。構(gòu)造函數(shù)為: FileStream (string path,FileMode mode,FileAccess access) path指定文件的相對或絕對路徑;mode確定打
6、開或創(chuàng)建文件,取值于枚舉FileMode: Create:創(chuàng)建新文件。若文件存在,則被改寫; CreateNew:創(chuàng)建新文件,若文件存在,則將引發(fā)異常; Open:打開現(xiàn)有文件; OpenOrCreate:若文件存在,則打開,否則,創(chuàng)建新文件; Append:打開現(xiàn)有文件并查找到文件尾,或創(chuàng)建新文件; Truncate:打開現(xiàn)有文件。文件一旦打開,就將被截斷為零字節(jié)大小,access用于控制對文件的讀訪問、寫訪問或讀/寫訪問。取值于FileAccess枚舉,具體值為: Read:讀取文件; Write:寫文件; ReadWrite:讀寫文件。 (2)StreamReader類 用于讀取文本文件
7、或文本數(shù)據(jù)流。其構(gòu)造函數(shù)非常多,常見的有如下兩種形式: StreamReader (Stream stream) StreamReader (string path) stream指定要讀取的流;path指定讀取文件的完整路徑。 常用的方法有: Read方法:讀取流中的下一個字符。 ReadLine方法:讀取一行字符并將數(shù)據(jù)作為字符串返回。 ReadToEnd方法:讀取從流的當(dāng)前位置到末尾的所有字符。 Close方法:關(guān)閉流。,(3)StreamWriter類 用于寫入文本文件或文本數(shù)據(jù)流。其構(gòu)造函數(shù)非常多,常見的有如下兩種形式: StreamWriter (Stream stream) St
8、reamWriter (string path) stream指定要寫入的流;path指定寫入文件的完整路徑。 常用的方法有: Write方法:把任何類型數(shù)據(jù)寫入流。 WriteLine方法:將數(shù)據(jù)寫入流,插入行結(jié)束符 Close方法:關(guān)閉流。,例7-2 使用文件保存對話框建立一個文件,并使用代碼向文件寫入一句話 /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; /把文件過濾器設(shè)為第二項“*.txt” /如果用戶單擊文件保存對話框的“保存”按鈕,向文件寫入“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 顏色對話框,允許用戶從調(diào)色板選擇顏色以及將自定義顏色添加到調(diào)色板。 ColorDialog類實現(xiàn)顏色對話框。ShowDialog方法,顯示顏色對話框。 Color屬性記憶用戶選擇的顏色。 例7-3 使用顏色對話框改變靜態(tài)文本標(biāo)簽的背景色 ColorDialog clg = new ColorDialog(); if(clg.ShowDialog()=DialogResult.OK) label1.BackColor=clg.Color;,7.2.4 字體對話框,字體對話框是標(biāo)準(zhǔn)的
11、 Windows“字體”對話框,用于公開系統(tǒng)上當(dāng)前安裝的字體。 FontDialog類實現(xiàn)字體對話框。ShowDialog方法顯示字體對話框,F(xiàn)ont屬性記憶用戶選擇的字體。Font是一個對象,它公開字體、字型、字號等屬性。 例7-4 使用字體對話框設(shè)置靜態(tài)文本標(biāo)簽的字體 FontDialog fg = new FontDialog(); if(fg.ShowDialog()=DialogResult.OK) label1.Font=fg.Font;,7.2.5 打印對話框,PrintDialog顯示W(wǎng)indows標(biāo)準(zhǔn)打印對話框??梢栽趯υ捒蛑羞x擇打印機、選擇要打印的頁以及頁范圍和打印選定內(nèi)容
12、。 必須使用PrintDocument組件完成具體的打印任務(wù) 例7-5 使用PrintDialog和PrintDocument打印一個矩形 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 文件整體讀取,編寫一個程序,從磁盤上讀取文件bb. cpp中的內(nèi)容,并把這些內(nèi)容顯示到屏幕中。,static void Main(string args) StreamReader sr = new StreamReader(bb.txt); /一次性讀整個文件全部字符 string str1 = sr.ReadToEnd(); Console.WriteLine(str1); sr.Close(); ,例7-2 將“百雞問題”的結(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(); ,編寫一個程序,可以讀入一個C+語言的源文件,每一行加上行號后保
16、存到另一個后綴為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讀出全部內(nèi)容,統(tǒng)計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育心理學(xué)視角下的遠(yuǎn)程教育課程設(shè)計
- 智慧城市公共服務(wù)中的信息服務(wù)平臺建設(shè)
- 共情教育塑造孩子情感智商的必由之路
- 智慧辦公樓宇的水資源管理與節(jié)能創(chuàng)新
- 醫(yī)學(xué)倫理與心理關(guān)懷的結(jié)合
- BJ-13-生命科學(xué)試劑-MCE
- 2024年天津市河北區(qū)九上化學(xué)期末聯(lián)考試題含解析
- 石家莊財經(jīng)職業(yè)學(xué)院《攝影攝像基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆博樂市第九中學(xué)2025屆九年級化學(xué)第一學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 湖北鐵道運輸職業(yè)學(xué)院《西方史學(xué)史》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年 濟南綜??毓杉瘓F有限公司招聘考試試卷附答案
- 2025年人工智能基礎(chǔ)及應(yīng)用考試試題及答案
- 化妝初期培訓(xùn)課件
- 2025年東航食品招聘筆試參考題庫含答案解析
- 公司業(yè)績考核管理制度
- 餐廳運營與管理制度
- 2025屆云南省昆明盤龍區(qū)聯(lián)考七下數(shù)學(xué)期末復(fù)習(xí)檢測試題含解析
- 企業(yè)海關(guān)AEO認(rèn)證流程優(yōu)化與通關(guān)效率提升策略
- 燃?xì)夤疚kU源辨識、風(fēng)險評價與控制管理
- 人教版九年級化學(xué)上冊單元基礎(chǔ)訓(xùn)練試題-全套
- 醫(yī)療美容診所管理規(guī)章制度
評論
0/150
提交評論