C#期末测试大作业-实验二

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二菜单应用程序设计
实验目的:
∙了解 MDI 应用程序和 SDI 应用程序
∙了解菜单和掌握菜单控件的使用
实验内容:
∙创建一个单文档的文本编辑器应用程序。

实验步骤:
问题
请编写一个简单的单文档文本编辑器,一次只能打开一个文件,如果要打开另一个文件,必须关闭当前打开的文件,微软的写字板程序就是单文档字处理程序。

问题说明
使用RichTextBox 可以建立一个文本编辑器,它和TextBox 的一些属性、事件和方法相同,其新增属性、事件和方法如下:
∙属性Dock:
∙属性SelectedText、 SelectionLength、SelectionStart:
∙属性SelectionFont:
∙属性SelectionColor:
∙属性Lines:
∙属性Modified:
∙事件SelectionChange:
∙事件TextChanged:
∙方法Clear():
∙方法Copy()、Cut()、Paste():
∙方法SelectAll():
∙方法Find():
∙方法SaveFile()和LoadFile():
∙方法Undo():
∙方法Redo():
解题思路
该问题需要开发一个窗体,要求对用户的简历信息进行登记。

该应用程序主要用到按钮、文本输入框、图片显示框、下拉列表框和列表框等控件。

参考步骤:
(1)新建一个名为“TxtEditor”的基于Windows应用程序的项目。

(2)剪贴板功能:放RichTextBox控件到窗体。

属性Name=richTextBox1,Dock=Fill,Text=""。

添加相应的菜单项,各菜单项的事件处理函数如下:
(3)文本编辑器都应具有文件存取功能,菜单顶级菜单项“文件”的弹出菜单中一般包括如下菜单项:新建、打开、关闭、保存和另存为等。

把OpenFileDialog和SaveFileDialog控件放到窗体中。

为菜单增加顶级菜单项:文件,为其弹出菜单增加菜单项:新建、打开...、保存...、另存为...、退出。

修改这些菜单项的Name属性分别为:mainMenuFile、menuItemFileNew、menuItemFileOpen、menuItemFileSave、menuItemFileSaveAs、menuItemFileExit。

为Form1类中定义变量:string s_FileName="",记录当前编辑的文件名。

(4)修改字体
为修改使用的字体,可打开字体对话框FontDialog,选择指定字体。

可以按两种方式修改字体,如果未选中文本,表示以后键入的字符将按选定字体输入。

如果选中文本,则仅修改选定文本的字体。

修改字符颜色也根据同样原则。

放FontDialog控件到窗体,属性Name=fontDialog1。

为菜单增加顶级菜单项:格式,属性Name为mainMenuModel,为其弹出菜单增加菜单项:字体,属性Name为menuItemModelFont,为菜单“格式|字体”菜单项增加单击事件处理函数如下:
(5)About对话框
添加一个窗体,修改formAbout窗体属性StartPosition=CenterParent,修改属性MaximizeBox=False,MinimizeBox=False 属性FormBorderStyle=FixedDialog,运行界面如下:
为菜单增加顶级菜单项:帮助,为其弹出菜单增加标题为“关于…”的菜单项,属
(6)文本编辑器查找替换功能
建立新窗体,窗体文件名称为formFindReplace.cs,作为"查找替换"对话框。

窗体类名也为formFindReplace,为formFindReplace类增加变量:Form1 MainForm1;属性StartPosition=CenterParent,MaximizeBox=False,MinimizeBox=False,FormBorderStyle=FixedDialog,Text=“查找和替换”,对话框界面如图:
修改formFindReplace类构造函数如下,增加的参数form1是主窗体属性Name的值。

查找替换对话框中标题为“查找下一个”按钮单击事件函数如下:
为Form1类增加变量:int FindPostion=0,该变量用来记录下一次查找的开始位置。

为Form1窗体菜单的"编辑"顶级菜单项的弹出菜单增加菜单项:查找和替换,属性Name 为menuItemFindReplace。

"查找和替换"菜单项单击事件处理函数如下:
替换字符串的方法:
(7)提示保存已被修改的文件
为Form1类增加一个bool变量bSave=false作为标记,用来跟踪控件RichTextBox 中的文本内容是否被修改。

在程序开始运行、建立和打开一个新文件后,bSave=false,表示如果关闭当前文件,不必提示用户保存当前文件。

当RichTextBox控件中的文本被修改,将激活RichTextBox控件TextChanged事件,在该事件处理函数中,使bSave=true,表示关闭当前文件前,要询问用户是否保存当前已被修改的文件。

首先在主窗体Form1类中增加一个函数,其功能是如果检查到当前文件已被修改,用对话框询问用户是否保存当前文件,根据用户的选择作相应的处理,该函数返回true,表示继续操作,该函数返回false,表示忽略此次操作。

之所以要增加这个函数是因为有三
为RichTextBox控件TextChanged事件增加事件函数如下:
窗体Form1的FormClosing事件是在关闭窗口之前产生的事件,此时,窗体中的控件还存在,还可以保存修改的内容,也可以不退出。

增加Closing事件的事件处理函数如下:
(8)通过从菜单中选择“调试”→“开始执行(不调试)”选项来执行此应用程序。

实验结果截图
实验总结
根据实验内容和步骤,写出实验体会。

相关文档
最新文档