windows程序设计报告(江苏大学版本)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

}

}

相关文档
最新文档