windows程序设计报告(江苏大学版本)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江苏大学
《Windows程序设计》实验报告
———记事本
所在学院:计算机学院
所在班级:软件1001
学生姓名:张建彬
学生学号:3100608024
指导教师:曹汉清
2012年 12 月
Windows程序设计报告
一、选题原因
Notepad文本文档是我们工作生活中经常用到的文件编辑器,因此了解它也很必要,所以选择了用windows窗体编辑一个Notepad。
Notepad记事本,实现了Windows自带的记事本的部分功能外,并且还可以任意更改字体的字体类型、大小和颜色,并在状态栏中显示时间。为了方便用户的操作,还在程序的窗体上放置了一个工具栏。
Notepad记事本程序具有文件的新建、打开、保存功能;文字的复制、粘贴、删除功能;字体类型、格式的设置功能;查看日期时间等功能,并且用户可以根据需要显示或者隐藏工具栏和状态栏。
接下来将详细的介绍记事本程序的设计与实现的步骤和方法。
二、设计思想及框架
新建好“Notepad”项目后,定位到记事本程序的窗体设计器窗口,然后依次在窗体上放置以下控件(各1个):
(1)MenuStrip(菜单控件)。
(2)ToolStrip(工具栏控件)。
(3)RichTextBox(多格式文本框控件)。(4)StatusStrip(状态栏控件)。(5)OpenFileDialog(打开对话框)。(6)SaveFileDialog(保存对话框)。(7)FontDialog(字体对话框)。(8)Timer(计时器控件)。
最终的用户界面如图所示(设置好属性后),其中MenuStrip控件、ToolStrip 控件、StatusStrip控件、OpenFileDialog对话框、SaveFileDialog对话框、FontDialog 对话框和Timer控件显示在窗体设计器下方的组件板上。
记事本用户界面
窗体的属性设置
将菜单控件MenuStrip的Name属性设为“mnusNotepad”,按照第6章介绍的方法设计好下拉菜单,它共有【文件(F)】、【编辑(E)】、【格式(O)】、【查看(V)】和【帮助(H)】5个下拉子菜单。
记事本的菜单
1. 【文件(F)】菜单
【文件(F)】菜单的功能是完成文件的新建、打开、保存、另存为功能,以及退出记事本程序,下面对各个菜单项的源代码进行详细的说明。
(1)【新建(N)】菜单项
private void tsmiNew_Click(object sender, EventArgs e)
{
if (b == true || rtxtNotepad.Text.Trim() != "")
{
if (s == false)
{
string result;
result = MessageBox.Show("文件尚未保存,是否保存?",
"保存文件", MessageBoxButtons.YesNoCancel).ToString();
switch (result)
{
case "Yes":
// 若文件是从磁盘打开的
if (b == true)
{
// 按文件打开的路径保存文件
rtxtNotepad.SaveFile(odlgNotepad.FileName);
}
// 若文件不是从磁盘打开的
else if (sdlgNotepad.ShowDialog() == DialogResult.OK)
{
rtxtNotepad.SaveFile(sdlgNotepad.FileName);
}
s = true;
rtxtNotepad.Text = "";
break;
case "No":
b = false;
rtxtNotepad.Text = "";
break;
}
(2)【打开(O)】菜单项
单击该菜单项时,如果是要从磁盘或其他设备打开“*.rtf”文件,同样要作出判断,所不同的是判断后用OpenFileDialog控件打开文件,并且每次保存文件后,都要将前面定义的变量(s)设为“true”,表示文件已经被保存。代码如下:【打开】菜单代码
private void tsmiOpen_Click(object sender, EventArgs e)
{
if (b == true || rtxtNotepad.Text.Trim() != "")
{
if (s == false)
{
string result;
result = MessageBox.Show("文件尚未保存,是否保存?",
"保存文件", MessageBoxButtons.YesNoCancel).ToString();
switch (result)
{
case "Yes":
if (b == true)
{
rtxtNotepad.SaveFile(odlgNotepad.FileName);
}
else if (sdlgNotepad.ShowDialog() == DialogResult.OK)
{
rtxtNotepad.SaveFile(sdlgNotepad.FileName);
}
s = true;
break;
case "No":
b = false;
rtxtNotepad.Text = "";
break;
}
}