实验四-文件与Windows窗体设计_第1页
实验四-文件与Windows窗体设计_第2页
实验四-文件与Windows窗体设计_第3页
实验四-文件与Windows窗体设计_第4页
实验四-文件与Windows窗体设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

实验四文件与Windows窗体设计一、实验目的:1、了解与文件处理相关属性、方法、事件。2、掌握windows窗体应用程序创立的一般过程。3、掌握常见windows控件的使用。二、实验内容:编制小型的“记事本〞程序,要求如下:〔1〕记事本的界面如图1所示,其中文本框为TextBox对象。图1主菜单〔2〕设计“文件〞的各子菜单项如图2所示,并为各子菜单项编写相应的事件处理代码。 图2“文件〞菜单项〔3〕设计“编辑〞的各子菜单项如图3所示,为各子菜单项编写相应的事件处理代码,具体要求如下:1〕编写“撤销〞、“剪切〞、“复制〞、“粘贴〞、“删除〞、“全选〞的Click事件代码。2〕编写“编辑〞的DropDownOpening事件代码,以实现如下要求:当文本框中有选中内容时,“复制〞、“剪切〞和“删除〞菜单项可用,否那么不可用;当剪切板中有内容时,“粘贴〞菜单项可用,否那么不可用;当文本框中能够执行撤销操作的时候,“撤销〞菜单项可用,否那么不可用。3〕编写“时间/日期〞的Click事件过程代码,实现往光标处插入当前的时间和日期。4〕编写“查找〞的Click事件过程代码:单击“查找〞菜单项时,将弹出如图4所示的“查找〞对话框。5〕当用户在“查找〞对话框输入“查找内容〞后,单击“查找下一个〞按钮,将完成相应的文本查找工作。当用户在“查找内容〞和“替换为〞文本框中输入内容后,单击“替换〞按钮,将完成一次查找内容的替换操作。单击“取消〞按钮,将关闭“查找〞对话框。图3“编辑〞菜单项图4“查找〞对话框〔4〕设计“格式〞的各子菜单项如图5所示,并为各子菜单项编写相应的事件过程代码,具体要求如下:1〕编写“自动换行〞的Click事件代码:当“自动换行〞菜单项被选中时,实现文本框内容的自动换行。2〕编写“字体〞的Click事件代码:弹出“字体〞对话框,并为文本设置相应的字体风格。3〕编写“颜色〞的Click事件代码:弹出“颜色〞对话框,为文本设置颜色。4〕编写“背景色〞的Click事件代码:弹出“颜色〞对话框,为文本框设置背景色。图5“格式〞菜单项〔5〕在实现根本功能的情况下可以自由发挥,可以添加新的功能。【提示】1、在窗体上添加文本框对象txtContent、菜单对象menuStrip1、翻开文件对话框openFileDialog1、保存文件对话框saveFileDialog1等控件。其中,txtContent的Dock属性设置为Fill,MultiLine属性值为true。2、“文件〞菜单中各个子菜单项的事件代码如下:〔仅供参考〕publicNotePad(){InitializeComponent();this.Text="无标题-记事本";}privatestringcurrentFileName="";privatevoidsetFileName(stringfileName){currentFileName=fileName;this.Text=Path.GetFileName(currentFileName)+"-记事本";}privatevoidSaveFile(){saveFileDialog1.Title="另存为";saveFileDialog1.Filter="*.txt(文本文件)|*.txt";if(saveFileDialog1.ShowDialog()==DialogResult.OK){setFileName(saveFileDialog1.FileName);File.WriteAllText(currentFileName,txtContent.Text,System.Text.Encoding.Default);}}privatevoidOpenFile(){openFileDialog1.Title="翻开文本文件";openFileDialog1.Filter="*.txt(文本文件)|*.txt";if(openFileDialog1.ShowDialog()==DialogResult.OK){setFileName(openFileDialog1.FileName);txtContent.Text=File.ReadAllText(currentFileName,System.Text.Encoding.Default);}}privatevoid新建ToolStripMenuItem_Click(objectsender,EventArgse){//如果当前文本内容处于修改状态,那么提示保存if(txtContent.Modified==true){DialogResultresult=MessageBox.Show("文件"+Text+"的内容已改变,需要保存吗?","保存文件",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);switch(result){caseDialogResult.Yes:SaveFile();txtContent.Text="";this.Text="新建-记事本";break;caseDialogResult.No:txtContent.Text="";this.Text="新建-记事本";break;caseDialogResult.Cancel:return;}}else{txtContent.Text="";this.Text="新建-记事本";txtContent.Modified=false;}currentFileName="";}privatevoid翻开ToolStripMenuItem_Click(objectsender,EventArgse){try{if(txtContent.Modified==true){DialogResultresult=MessageBox.Show("文件"+this.Text+"的内容已经改变,是否需要保存?","保存文件",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);switch(result){caseDialogResult.Yes:SaveFile();break;caseDialogResult.No:break;caseDialogResult.Cancel:return;}}OpenFile();}catch(Exceptionerror){MessageBox.Show(error.Message.ToString());}}privatevoid保存SToolStripMenuItem_Click(objectsender,EventArgse){try{if(this.currentFileName==""){SaveFile();}else{File.WriteAllText(currentFileName,txtContent.Text,System.Text.Encoding.Default);txtContent.Modified=false;}}catch(Exceptioner){MessageBox.Show(er.Message.ToString());}}privatevoid另存为ToolStripMenuItem_Click(objectsender,EventArgse){SaveFile();}privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse){if(txtContent.Modified){DialogResultresult=MessageBox.Show("内容已经更改,是否保存?","友情提示",MessageBoxButtons.YesNoCancel);switch(result){caseDialogResult.Yes:if(this.currentFileName==""){SaveFile();}else{File.WriteAllText(currentFileName,txtContent.Text,System.Text.Encoding.Default);}break;caseDialogResult.No:break;caseDialogResult.Cancel:return;}}Application.Exit();}3、“编辑〞的DropDownOpening事件代码如下:〔仅供参考〕privatevoid编辑ToolStripMenuItem_DropDownOpening(objectsender,EventArgse){if(txtContent.SelectedText==""){复制ToolStripMenuItem.Enabled=false;剪切ToolStripMenuItem.Enabled=false;删除ToolStripMenuItem.Enabled=false;}else{复制ToolStripMenuItem.Enabled=true;剪切ToolStripMenuItem.Enabled=true;删除ToolStripMenuItem.Enabled=true;}if(Clipboard.GetDataObject()!=null){粘贴ToolStripMenuItem.Enabled=true;}else{粘贴ToolStripMenuItem.Enabled=false;}if(txtContent.CanUndo){撤销ToolStripMenuItem.Enabled=true;}else{撤销ToolStripMenuItem.Enabled=false;}}4、“编辑〞的子菜单“撤销〞、“剪切〞、“复制〞、“粘贴〞、“删除〞、“全选〞、“时间日期〞的Click事件代码如下:privatevoid撤销ToolStripMenuItem_Click(objectsender,EventArgse){txtContent.Undo();}privatevoid剪切ToolStripMenuItem_Click(objectsender,EventArgse){txtContent.Cut();}privatevoid复制ToolStripMenuItem_Click(objectsender,EventArgse){txtContent.Copy();}privatevoid粘贴ToolStripMenuItem_Click(objectsender,EventArgse){txtContent.Paste();}privatevoid删除ToolStripMenuItem_Click(objectsender,EventArgse){txtContent.SelectedText="";}privatevoid全选ToolStripMenuItem_Click(objectsender,EventArgse){txtContent.SelectAll();}privatevoid时间日期ToolStripMenuItem_Click(objectsender,EventArgse){txtContent.SelectedText+=DateTime.Now.ToString()+Environment.NewLine;具有跨平台性,可以用于Window和Linux中。}5、与“查找下一个〞按钮的功能相关的步骤及代码如下:在“查找〞窗体中,通过“持有对方引用〞的方式访问“记事本〞窗体中的成员。具体做法:a〕在工程中添加一个名为“FindForm〞的windows窗体,根据“图4”b〕在“查找〞窗体类FindForm中定义一个私有变量,并修改构造方法。privateNotePadnotePad;publicFindForm(NotePadnotePad){InitializeComponent();this.notePad=notePad;}c〕编写“记事本〞窗体类NotePad中的“查找〞菜单的Click事件代码:privatevoid查找ToolStripMenuItem_Click(objectsender,EventArgse){FindFormfindForm=newFindForm(this);findForm.Show();}d〕在“解决方案资源管理器〞中,翻开“记事本〞窗体类NotePad的设计器代码文件Not,将文本框对象txtContent的访问权限,由默认的private改成public:publicSystem.Windows.Forms.TextBoxtxtContent;e〕编写“查找〞窗体类FindForm的“查找下一个〞按钮btnFindNext的单击事件过程代码:intpos=0;intstart=0;privatevoidbtnFindNext_Cli

温馨提示

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

评论

0/150

提交评论