版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章仿Windows记事本第4章仿Windows记事本22记事本功能分析文件的读写StreamReader/StreamWriter通用对话框设计文件的编辑(复制、粘贴、剪贴)文本的查找与替换22记事本功能分析文件的读写33计算器外观设计33计算器外观设计界面设计MenuStrip控件LayoutStyle:Flow;可随容器的大小发生改变菜单项ShortcutKeys:设置快捷键ShortcutKeyDisplayStringEnabled:设置菜单项是否可用Name:设置菜单项的名字Text:菜单项上显示的文本界面设计MenuStrip控件界面设计RichTextBox控件Dock:Fill;随容器的大小而改变自身大小Modified:设置或判断控件中的内容是否被修改Selected:获取或设置选定文本Font:获取或设置字体界面设计RichTextBox控件66菜单项66菜单项文件的读、写操作文件的读、写操作文件和流System.IO命名空间提供了操作文件与目录的类文件的读取需要用流(stream)来进行操作流就是C#中读写文件的通道程序通过输入流从数据源读取数据,通过输出流向目的地写数据。数据源(文件、键盘、内存)C#程序数据目的(文件、控制台、内存)输入流输出流文件和流System.IO命名空间提供了操作文件与目录的类数System.IO.StreamWriter写文件StreamWritersw=newStreamWriter(@“c:\testfile.txt”,true,System.Text.Encoding.Default);//第一个参数为文件名,第二个参数判断是否覆盖已有//文件,第三个参数为编码方式sw.WriteLine("测试数据1");sw.WriteLine("测试数据2");sw.Write("测试数据3测试数据3测试数据3"+"测试数据3测试数据3测试数据3测试数据3"+"测试数据3测试数据3测试数据3测试数据3");sw.Close();System.IO.StreamWriter写文件StrSystem.IO.StreamReader读文件StreamReadersr=newStreamReader(@“c:\testfile.txt”,System.Text.Encoding.Default);MessageBox.Show(sr.ReadLine());MessageBox.Show(sr.ReadToEnd());sr.Close();System.IO.StreamReader读文件Str通用对话框设计通用对话框设计通用对话框概述在.NET框架中,提供了以下对话框类:打开文件对话框(OpenFileDialog)保存文件对话框(SaveFileDialog)字体对话框(FontDialog)颜色对话框(ColorDialog)页面设置对话框(PageSetupDialog)打印对话框(PrintDialog)等类。通用对话框概述在.NET框架中,提供了以下对话框类:通用对话框的使用方法首先声明一个通用对话框,设置一些必要属性调用ShowDialog()方法打开对话框接收用户与对话框交互操作的返回值,返回值是DialogResult实例OpenFileDialogdlg=newOpenFileDialog();dlg.Filter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";dlg.Title="打开文件";if(dlg.ShowDialog()==DialogResult.OK)//显示打开文件对话框{
string_fileName=dlg.FileName;}通用对话框的使用方法首先声明一个通用对话框,设置一些必要属性OpenFileDialog控件常用属性说明FileName获取或设置用户在打开文件对话框中选择的文件名Filter设置文件筛选过滤器,用于指定对话框中文件类型Multiselect设置是否允许选择多个文件FileNames只读属性,获取用户选择的多个文件名OpenFileDialog控件本身并不能打开文件,如要显示文件可以通过创建StreamReader对象来读取文件内容。OpenFileDialog控件常用属性说明FileNameOpenFileDialogodlg=newOpenFileDialog();odlg.Filter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";odlg.Title="打开文件";if(odlg.ShowDialog()==DialogResult.OK)//显示打开文件对话框
{StreamReadersr=newStreamReader(odlg.FileName,Encoding.Default);rtxtContent.Text=sr.ReadToEnd();sr.Close(); }OpenFileDialogodlg=newOpenSaveFileDialog控件常用属性说明FileName获取或设置用户在保存文件对话框中选择的文件名Filter设置文件筛选过滤器,用于指定对话框中文件类型AddExtension设置在省略扩展名时,是否自动将扩展名添加到文件名上DefaultExt默认的文件扩展名SaveFileDialog控件本身并不能保存文件,如要写文件可以通过创建StreamWriter对象来实现。SaveFileDialog控件常用属性说明FileNameSaveFileDialogsdlg=newSaveFileDialog();sdlg.Filter="文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";sdlg.Title=“保存文件";Sdlg.AddExtension=true;Sdlg.DefaultExt=“.txt”;if(sdlg.ShowDialog()==DialogResult.OK)//显示保存文件对话框
{StreamWritersw=newStreamWriter(sdlg.FileName,true,Encoding.Default);sw.Write(rtxtContent.Text);sw.Close(); }SaveFileDialogsdlg=newSaveFontDialog控件用于设置文本字体,可以改变字体、字号、字形、颜色等。FontDialog控件用于设置文本字体,可以改变字体、字号常用属性说明Font获取或设置选定的字体ShowColor是否显示颜色选项,默认为不显示ShowEffects是否包含特殊效果选项,如删除线,下划线等,默认为显示
privatevoidmnuFont_Click(objectsender,EventArgse)//修改字体
{FontDialogfontDialog1=newFontDialog();fontDialog1.ShowColor=true;if(fontDialog1.ShowDialog()==DialogResult.OK)rtxtContent.Font=fontDialog1.Font;}常用属性说明Font获取或设置选定的字体ShowColor是记事本功能实现记事本功能实现实现:另存为…分析:一、文件菜单“另存为…”的单击事件:设置saveFileDialog1的属性;创建StreamWriter对象,取名为sw1,使用sw1将rtxtContent中的内容写入到指定的文件中;设置rtxtContent.Modified=false;设置_filename字段;关闭sw1对象在记事本窗体中设置字段或声明对象:添加一个变量_filename,用来保存文件名;声明一个SaveFileDialog类控件,取名为saveFileDialog1实现:另存为…一、文件菜单“另存为…”的单击事件:在记事本窗实现:保存分析:(以下内容均在“保存”菜单项的单击事件中实现)一、文件菜单创建StreamWriter对象,将修改过的内容保存到现有文件中判断:文件是否存在(已保存过)调用“另存为…”的功能代码是否实现:保存一、文件菜单创建StreamWriter对象,判断实现:新建分析(以下内容均在“新建”菜单项的单击事件中实现)一、文件菜单判断:rtxtContent中是否有修改后未作的内容,条件为真:弹击消息框,提示是否需要保存Yes:调用“保存”功能No:不作任何操作Cancel:设置_isContinue=false添加一个标志:bool_isContinue=true;判断:_isContinue,条件为真:将rtxtContent清空;设置form1.Text="新建文本文档_记事本";设置_filename=“”;实现:新建一、文件菜单判断:rtxtContent中是否有修实现:打开分析(以下内容均在“打开”菜单项的单击事件中实现)一、文件菜单判断:rtxtContent中是否有修改后未作的内容,条件为真:弹击消息框,提示是否需要保存Yes:调用“保存”功能No:不作任何操作Cancel:设置_isContinue=false添加一个标志:bool_isContinue=true;判断:_isContinue,条件为真:声明一个OpenFileDialog控件创建一个StreamReader类对象将指定的文件显示出来实现:打开一、文件菜单判断:rtxtContent中是否有修二、编辑菜单实现:剪切,复制,粘贴,删除,撤销,全选分析:RichTextBox的常用属性和方法常用属性说明Select()选择文本SelectAll()选择所有内容Cut()将选择的内容剪切至剪贴板Copy()将选择的内容复制至剪贴板Paste()将剪贴板中的内容粘贴至光标处Undo()撤销ClearUndo()消除最近的撤销信息SelectionLength选择内容的长度SelectedText选择的文本二、编辑菜单实现:剪切,复制,粘贴,删除,撤销,全选常用属性当“编辑”菜单的Click事件和DropDownOpened事件发生时,判断“编辑”菜单下的各二级菜单项是否可用。rtxtContent.Modified撤销rtxtContent.SelectedTextrtxtContent.Text剪切、复制、删除Clipboard.GetText().ToString()查找、替换粘贴二、编辑菜单当“编辑”菜单的Click事件和DropDownOpened三、查找与替换创建用户自定义对话框
对话框与窗口的不同主要体现在对话框不能调整大小。因此将窗体设置成对话框,需设置窗体的几个属性。常用属性说明FormBorderStyle提示窗体的边框和标题栏的外观和行为MaximizeBox确定窗体标题栏是否有最大化框MinimizeBox确定窗体标题栏是否有最小化框StartPosition确定窗体第一次出现时的位置AcceptButton设置窗体的“接受”按钮,用户按“Enter“键,都相当于单击该按钮三、查找与替换创建用户自定义对话框常用属性说明FormBor1.实现:查找三、查找与替换关键技术:富文本框的Find()方法rtxtContent.Find(searchString);rtxtContent.Find(searchString,searchPosition,RichTextBoxFinds.MatchCase);富文本框的Select()方法rtxtContent.Select(startPosition,selectLength);1.实现:查找三、查找与替换关键技术://添加两个成员字段int_findPosition=0;string_findString=“”;privatevoidmnuFind_Click(objectsender,EventArgse){frmFindfrmFind1=newfrmFind();if(frmFind1.ShowDialog()==DialogResult.OK){_findString=frmFind1.strFind;Find();//调用Find()方法进行查找
}}//添加两个成员字段privatevoidmnuFinpublicvoidFind()//查找方法
{_findPosition=rtxtContent.Find(_findString,_findPosition,RichTextBoxFinds.MatchCase);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《国际货运代理》题集
- 《规范汉字书写传承中华文化之美》班会教案3篇
- 3.4.1 二次函数y=ax2+k与y=a(x-h)2的图象与性质 同步练习
- 【人教】期末模拟卷01【九年级上下册】
- 专项24-弧、弦、角、距的关系-重难点题型
- 特殊作业票管理制度
- 语法专题十六 主谓一致【考点精讲精练】-2023年中考语法一点通(学生版)
- 青花瓷的教案8篇
- 新生军训心得体会
- 暑假自我总结
- 新制定《公平竞争审查条例》学习课件
- TD/T 1060-2021 自然资源分等定级通则(正式版)
- 三位数除以两位数300题-整除-有标准答案
- 《公路工程集料试验规程》JTG-3432-2024考核试题及答案文档
- 办公室装修工程施工方案讲义
- 奇异的仿生学 知到智慧树网课答案
- 大学生职业生涯规划书药学专业
- 中医病案辩证分析报告
- 医院护理人文关怀实践规范专家共识
- MOOC 陶瓷装饰·彩绘-无锡工艺职业技术学院 中国大学慕课答案
- 食堂油锅起火演练方案
评论
0/150
提交评论