C#记事本设计文档

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

1 记事本设计

1.1 记事本开发目标

1.文件操作功能。新建文件,打开文件,保存文件,页面设置,打印和退出。

2.文本编辑功能。文本的撤销,文本重复,剪切,复制,粘贴,删除,查找,

替换,转到,全选和时间/日期。

3.文本格式编辑。文本自动换行,字体选择,颜色选择,文本居中,左对齐,

右对齐,加粗,倾斜和下划线。

4.实现与windows 记事本兼容使用。即用本记事本可以正常打开windows

记事本。

5.进度条根据文本框改变而变化、显示系统时间。

1.2 记事本界面预览

1.3记事本功能结构

1.4 流程图

记事本流程图如下所示:

1.5 程序运行环境

记事本开发平台:Microsoft visual studio 2005。

记事本开发语言:C#。

运行平台:windows 2000 \ windows XP \ windows Vista 等。

2记事本窗体设计与功能分析

2.1 主窗体(Form1)设计

2.1.1使用组件介绍

编辑框richTextBox1,菜单menuStrip1,工具条toolStrip1,

右击contextMenuStrip1,系统计时器timer1,

进度条toolStripProgressBar1,显示条toolStripStatusLabel1.

2.2.2 本记事本的突出特点

本记事本的特点:(1)实现对文本内容格式的编辑,如左对齐、右对齐、居中;

对字体的颜色、字体、加粗、倾斜和下划线操作。

(2)实现正确地与windows记事本兼容使用,无乱码出现。

(3)实现对文本的打印与页面设置。

2.2 文件操作设计

2.2.1 新建

菜单新建、按钮新建以及利用组件C ontextMenuStrip1,完成右击菜单新建。代码如下:

private void新建NToolStripButton_Click(object sender, EventArgs e)

{

this.richTextBox1.Clear();

}

2.2.2 打开与保存

【打开】

为了实现与windows记事本兼容打开,利用RichTextBoxStreamType 枚举的PlainText成员,作用是用空格代替对象链接与嵌入 (OLE) 对象的纯文本流。

代码实现如下:

private void打开OToolStripButton_Click(object sender, EventArgs e)

{ OpenFileDialog fileone = new OpenFileDialog();

fileone.Filter = "文本文件(*.txt)|*.txt|RTF文件(*.rtf)|*.rtf|所有文件(*.*)|*.*"; fileone.FilterIndex = 1;

if (fileone.ShowDialog() == DialogResult.OK)

{

try

{ filename = fileone.FileName;//用于保存时显示需要保存的文件名

this.richTextBox1.LoadFile(fileone.FileName,RichTextBoxStreamType.PlainText); }

catch (Exception)

{

MessageBox.Show("Oh,您的打开不成功!");

}

}

}

【保存】

为了让C#记事本的文本保存后,用windows记事本打开,在richTextBox的SaveFile 中使用利用RichTextBoxStreamType枚举的TextTextOleObjs成员,即具有 OLE 对象的文本表示形式的纯文本流。

代码如下:

string filename;

private void保存SToolStripButton_Click(object sender, EventArgs e)

{

SaveFileDialog fileone = new SaveFileDialog();

fileone.Filter = "文本文件(*.txt)|*.txt|RTF文件(*.rtf)|*.rtf|所有文件(*.*)|*.*"; fileone.FilterIndex = 1;

fileone.FileName = filename;//保存时自动显示需要保存的文件名

if (fileone.ShowDialog() == DialogResult.OK)

{

try

{

this.richTextBox1.SaveFile(fileone.FileName,

RichTextBoxStreamType.TextTextOleObjs);

}

catch (ArgumentException)

{

MessageBox.Show("Oh,您的保存不成功!");

}

}

}

2.2.3 打印与页面设计的代码详细于软件包中。

2.2.4 窗体按钮“退出”与菜单“退出”

【窗体按钮“退出”】

打开主窗体的加载事件Load ,首先判断文本框是否为空,为空则直接关闭窗体,否则先保存再退出。

代码如下:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)

{ //判断文本是否为空,为空则不处理

if (this.richTextBox1.Text == string.Empty)

{ return;}

//判断文本是否为空,不为空则弹出提示框

else

{//创建一个退出提示对话框,并获得用户的选择。

DialogResult dr = MessageBox.Show("您的文本内容已改变,退出程序文本内容将丢失,

是否要保存?", "退出提示", MessageBoxButtons.YesNoCancel);

//如果用户的选择为yes,那么先保存后关闭窗体。

if (dr == DialogResult.Yes)

{

保存SToolStripMenuItem_Click(sender, e);

e.Cancel = false;

}

if (dr == DialogResult.No)

{ e.Cancel = false;}

if (dr == DialogResult.Cancel)

{ e.Cancel = true;}

}

}

【菜单“退出”】

利用Close()方法,让执行Close()方法后关联到窗体按钮“退出”。

private void退出XToolStripMenuItem_Click(object sender, EventArgs e)

{ //关闭程序

Close();

}

相关文档
最新文档