任务十 My Notepad.ppt_第1页
任务十 My Notepad.ppt_第2页
任务十 My Notepad.ppt_第3页
任务十 My Notepad.ppt_第4页
任务十 My Notepad.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、任务十 My Notepad,记事本,实例10-1: 通过使用工具箱里菜单、对话框等控件,实现记事本的打开和保存文本功能。,问题,需要哪些控件? 文本框控件哪些属性需要改变? “打开”“保存”功能怎么实现?,需要哪些控件-创建和使用主菜单,用MenuStrip类创建记事本的主菜单,菜单形式: 出现在程序上方边缘的,称为主菜单(MenuStrip),需要哪些控件-创建和使用主菜单,文本框控件哪些属性需要改变?,TextBox Multiline:True Dock: Fill ScrollBars:Both,向菜单项添加助记符:如输入“文件( 打开对话框 openFileDialog1.Show

2、Dialog() 单击【打开】、【取消】按钮? if结构 if (openFileDialog1.ShowDialog() = DialogResult.OK),枚举,读取文件,用户选定要打开的文件后,怎么读取文件? 使用文件流,创建 StreamReader 类的实例,实现1:记事本OpenFileDialog,关键代码解析 openFileDialog1.Filter = 文本文件|*.txt|所有文件|*.*; if (openFileDialog1.ShowDialog() = DialogResult.OK) StreamReader sr = new StreamReader(op

3、enFileDialog1.FileName, System. Text.Encoding.Default); textBox1.Text = sr.ReadToEnd(); sr.Close(); ,运行通用对话框,对话框枚举值,读取字符,用指定的字符编码为指定的流初始化 StreamReader 类的新实例,实现2:记事本保存功能,SaveFileDialog,实现2:记事本写文件,创建 StreamWriter类的实例 StreamWriter sw = new StreamWriter(saveFileDialog1.FileName, false,Encoding.GetEncodi

4、ng(“gb2312”); sw.Write(textBox1.Text); sw.Close();,实现2:记事本SaveFileDialog,关键代码解析 saveFileDialog1.Filter = 文本文件|*.txt|所有文件|*.*; if (saveFileDialog1.ShowDialog() = DialogResult.OK) StreamWriter sw = new StreamWriter(saveFileDialog1.FileName, false,Encoding.GetEncoding(“gb2312”); sw.Write(textBox1.Text)

5、; sw.Close(); ,写入字符,使用指定编码和缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。如果该文件存在,则可以将其改写或向其追加。如果该文件不存在,则此构造函数将创建一个新文件。,如果该文件存在,是否将数据追加到文件。 False: 文件被改写 True:数据追加到该文件,实现3:记事本FontDialog,用户可以使用 FontDialog 组件选择字体,并可以更改字体显示方式,例如粗细和大小。 该对话框中选定的字体在 Font 属性中返回。因此,使用用户选定的字体就像读取属性一样简单。 if(fontDialog1.ShowDialog() =

6、 DialogResult.OK) textBox1.Font = fontDialog1.Font; ,3种功能实现总结:创建和使用通用对话框 (P165),创建和使用通用对话框 设置通用对话框属性 从通用对话框读取信息,特殊类型的对话框:消息框,MessageBox.Show(“楷体_GB2312 24”); MessageBox.Show(“Hello,c#!”,”消息框示例”,MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk);,消息框用于显示消息(p167 表10-3,10-4),实现3:新建功能(消息框窗口),新建功能,有

7、几种情况? 文本框内文字改变 文本框内文字没有改变 IF结构 怎么判断文本框内文字的改变? textBox1.TextChanged事件(双击文本框) textBox1.TextChanged += new System.EventHandler(textBox1_TextChanged);,实现3:新建功能(消息框窗口),private void textBox1_TextChanged(object sender, EventArgs e) flag = true; ,实现3:新建功能(消息框窗口),MessageBox.Show( 文件的文字已经改变,想要保存?, 记事本, Messag

8、eBoxButtons.YesNoCancel, MessageBoxIcon.Warning),实现3:新建功能(消息框窗口),DialogResult.Yes? DialogResult.No?,总结,【新建】 【打开】 【保存】 【字体】,创建和使用自定义对话框,创建和使用自定义对话框 模式对话框(showDialog)、非模式对话框(show) 对话框也是窗体,只是该窗体的FormBorderstyle 枚举属性设为了FixedDialog ControlBox、MinimizeBox、MaximizeBox: false ShowInTaskerBar: false Button:

9、DialogResult属性 对话框:AcceptButton属性,文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。文件是指在各种存储介质上(如硬盘、可移动磁盘、CD等)永久存储的数据的有序集合,它是进行数据读写操作的基本对象。 每个文件都有文件名、文件所在路径、创建时间及访问仅限等属性。然而,文件(File)和流(Stream)是既有区别又有联系的两个概念。流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。除了和磁盘文件直接相关的文件流以外,流还有多种类型。文件管理是操作系统的一个重

10、要组成部分,而文件操作就是在用户编写应用程序时对文件进行管理的一种手段。,文件概念,在System.IO命名空间中提供了多种类,用于进行文件和数据流的读写操作。要使用这些类,通常需要在程序的开头包含语句: using System.IO;,文件的读写 通常对于文件最常用的操作就是读取和写入两类。C#提供了两个专门负责文本文件读取和写入操作的类,即StreamWriter类及StreamReader类。 StreamWriter类和StreamReader类为用户提供了按文本模式读写数据的方法。与FileStream类中的Read和Write方法相比,这两个类的应用更为广泛.其中StreamWr

11、iter类主要负责向文件中写入数据, StreamReader类则负责从文件中读数据。,读文件 读取文本文件(StreamReader类) StreamReader类的常用方法包括Read方法和ReadLine方法。 l Read方法 Read方法用于读取输入流中的下一个字符 lReadLine方法 从当前流中读取一行字符并将数据作为字符串返回。 Close方法 关闭文件,写文件 写入文本文件(StreamWriter类) StreamWriter类的常用方法包括Write方法和WriteLine方法。 l Write方法 Write方法用于将字符、字符数组、字符串等写入流,不换行。 l WriteLine方法 WriteLine方法用于将后跟行结束符的字符、字符数组、字符串等写入文本流。一行一行写。,读写文件二进制数据,下面的代码把两个字节的数据写入文件中: FileStream fs = new FileStream(C:TEST.DAT,FileMode.CreateNew); BinaryWriter bw = new BinaryWriter(f

温馨提示

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

评论

0/150

提交评论