第7章对话框.ppt_第1页
第7章对话框.ppt_第2页
第7章对话框.ppt_第3页
第7章对话框.ppt_第4页
第7章对话框.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 对话框,学习内容与要点 如何建立自定义对话框 通用对话框控件的使用 文件与流 RichTextBox控件的使用,7.1 自定义对话框,对话框就是窗体的另外一种形式。 根据工作模式不同,对话框分为模态和非模态对话框两种。 7.1.1 模态对话框 用户必须显式地关闭对话框后,才能与应用程序的其它窗体进行交互。,1.实现模态对话框的基本步骤 (1)将窗体的FormBorderStyle属性更改为FixedDialog;将ControlBox、 MinimizeBox 、MaximizeBox和ShowInTaskBar属性设置为 false (2)调用窗体的ShowDialog 方法显示模态

2、对话框 2.对话框的返回值 (1)使用对话框的DialogResult 属性 (2) ShowDialog方法的返回值。 if(dlg.DialogResult=DialogResult.OK) else ,3.检索对话框输入的信息和向对话框输出信息 对话框一般用来输出信息或输入信息。一般通过对话框的属性来公开对话框信息。例如, public string InputText get return txtInput.Text; 利用InputText属性返回对话框上文本框txtInput中用户输入的文本。 4. 默认按钮 通过设置窗体的AcceptButton属性,确定按下回车键时,哪个按钮控

3、件应该做出响应。 通过设置窗体的CancelButton属性确定按下ESC键时,哪个按钮控件应该做出响应。,7.1.2 非模态对话框,用户不必关闭非模态对话框也可以在应用程序的其它窗体上工作。 非模态对话框的实现与模态对话框基本相同,只是显示非模态对话框,使用窗体的Show方法,7.2 通用对话框,通用对话框就是C#预置的一些对话框 。 7.2.1 消息框 用于向用户显示一些通知消息 。 MessageBox.Show()显示消息框 。格式为: DialogResult Show (string text,string caption,MessageBoxButtons buttons,Mes

4、sageBoxIcon icon,MessageBoxDefaultButton defaultButton),例如: MessageBox.Show(“消息框的显示内容”,“消息框 的标题,MessageBoxButtons.YesNoCancel ,MessageBoxIcon.Information);,7.2.2 文件打开和保存对话框,由OpenFileDialog和SaveFileDialog类实现 1.常用属性 (1)Filter属性:文件名筛选字符串,筛选具有特定扩展名的文件。形式为“所有文件*.*|*.*”,“|”,前面的字符串“所有文件*.*”用于显示,后面的字符串“*.*”

5、才真正用于筛选。 (2)FilterIndex属性:设置对话框文件名筛选器的索引。 (3)InitialDirectory属性:设置对话框显示的初始路径。 (4)Title属性:设置对话框的标题。 (5)FileName属性:返回对话框中用户选定的路径和文件名。 2.常用方法 (1)ShowDialog方法:显示文件打开或保存对话框。,3.文件与数据流概述,(1)FileStream类 用于完成文件打开、读写和关闭任务。构造函数为: FileStream (string path,FileMode mode,FileAccess access) path指定文件的相对或绝对路径;mode确定打

6、开或创建文件,取值于枚举FileMode: Create:创建新文件。若文件存在,则被改写; CreateNew:创建新文件,若文件存在,则将引发异常; Open:打开现有文件; OpenOrCreate:若文件存在,则打开,否则,创建新文件; Append:打开现有文件并查找到文件尾,或创建新文件; Truncate:打开现有文件。文件一旦打开,就将被截断为零字节大小,access用于控制对文件的读访问、写访问或读/写访问。取值于FileAccess枚举,具体值为: Read:读取文件; Write:写文件; ReadWrite:读写文件。 (2)StreamReader类 用于读取文本文件

7、或文本数据流。其构造函数非常多,常见的有如下两种形式: StreamReader (Stream stream) StreamReader (string path) stream指定要读取的流;path指定读取文件的完整路径。 常用的方法有: Read方法:读取流中的下一个字符。 ReadLine方法:读取一行字符并将数据作为字符串返回。 ReadToEnd方法:读取从流的当前位置到末尾的所有字符。 Close方法:关闭流。,(3)StreamWriter类 用于写入文本文件或文本数据流。其构造函数非常多,常见的有如下两种形式: StreamWriter (Stream stream) St

8、reamWriter (string path) stream指定要写入的流;path指定写入文件的完整路径。 常用的方法有: Write方法:把任何类型数据写入流。 WriteLine方法:将数据写入流,插入行结束符 Close方法:关闭流。,例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; /把文件过滤器设为第二项“*.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 颜色对话框,允许用户从调色板选择颜色以及将自定义颜色添加到调色板。 ColorDialog类实现颜色对话框。ShowDialog方法,显示颜色对话框。 Color属性记忆用户选择的颜色。 例7-3 使用颜色对话框改变静态文本标签的背景色 ColorDialog clg = new ColorDialog(); if(clg.ShowDialog()=DialogResult.OK) label1.BackColor=clg.Color;,7.2.4 字体对话框,字体对话框是标准的

11、 Windows“字体”对话框,用于公开系统上当前安装的字体。 FontDialog类实现字体对话框。ShowDialog方法显示字体对话框,Font属性记忆用户选择的字体。Font是一个对象,它公开字体、字型、字号等属性。 例7-4 使用字体对话框设置静态文本标签的字体 FontDialog fg = new FontDialog(); if(fg.ShowDialog()=DialogResult.OK) label1.Font=fg.Font;,7.2.5 打印对话框,PrintDialog显示Windows标准打印对话框。可以在对话框中选择打印机、选择要打印的页以及页范围和打印选定内容

12、。 必须使用PrintDocument组件完成具体的打印任务 例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);,文件处理习题,1 文件管理 File类和FileInfo类 2 目录管理 Directory类和DirectoryInfo类 3 StreamReader和StreamWriter Read ReadLine ReadToEnd Write Writ

14、eLine,例7-1 文件整体读取,编写一个程序,从磁盘上读取文件bb. cpp中的内容,并把这些内容显示到屏幕中。,static void Main(string args) StreamReader sr = new StreamReader(bb.txt); /一次性读整个文件全部字符 string str1 = sr.ReadToEnd(); Console.WriteLine(str1); sr.Close(); ,例7-2 将“百鸡问题”的结果存入文件中,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读出全部内容,统计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论