C#实现记事本功能(软件:VS2022)

1.记事本功能简介

本章介绍的记事本程序具有文件的新建、打开、保存功能;文字的复制、粘贴、删除功能;字体类型、格式的设置功能;查看日期时间等功能,并且用户可以根据需要显示或者隐藏工具栏和状态栏。

2.项目创建及界面设计

新建窗体项目

选择文件—>新建—>项目—>模板—>Windows窗体应用—>下一步—>项目名称“NotePad”—>下一步—>创建成功如图所示
操作如图所示

操作如图所示在这里插入图片描述

界面设计

窗体设计

单击记事本窗体,更改右下角相关属性如下表所示
在这里插入图片描述

属性 设置结果
Name NotePad
StartPosition(运行后起始位置) CenterScreen(中央屏幕)
Text 记事本
Size 600,450

窗体内容设计

单击左边打开工具箱
在这里插入图片描述

菜单控件MenuStrip

拖入该控件到窗体合适位置
在这里插入图片描述
单击菜单栏,右下角Name属性更改为“mnusNotepad”
在这里插入图片描述
单击依次输入【文件(F)】、【编辑(E)】、【格式(O)】、【查看(V)】和【帮助(H)】如图所示
在这里插入图片描述
在这里插入图片描述
在菜单栏相应按钮下依次加入以下内容(快捷键后续设置中可设置成显示,分隔符如图一在键入中输入“-”即可)
在这里插入图片描述
逐个单击,按照下表属性进行相关属性设置

Text属性 Name属性 ShortcutKeys属性(快捷键) ShowShortcutKeys属性 Checked属性
文件(&F) tsmiFile None - -
新建(&N) tsmiNew Ctrl+N True -
打开(&O) tsmiOpen Ctrl+O True -
保存(&S) tsmiSave Ctrl+S True -
另存为(&A) tsmiSaveAs None - -
分隔符“-”
退出(&X) tsmiClose None - -
编辑(&E) tsmiEdit None - -
撤销(&U) tsmiUndo Ctrl+Z True -
分隔符“-”
复制(&C) tsmiCopy Ctrl+C True -
剪切(&T) tsmiCut Ctrl+X True -
粘贴(&P) tsmiPaste Ctrl+V True -
分隔符“-”
全选(&A) tsmiSelectAll Ctrl+A True -
日期(&D) tsmiDate F5 True -
格式(&O) tsmiFormat - - False
自动换行(&W) tsmiAuto - - True
字体(&F) tsmiFont - - False
查看(&V) tsmiView - - False
工具栏(&T) tsmiToolStrip - - True
状态栏(&S) tsmiStatusStrip - - True
帮助(&H) tsmiHelp - - -
关于记事本(&A) tsmiAbout - - -
工具栏控件ToolStrip

将该控件拖至窗体的合适位置
在这里插入图片描述
单击工具栏,右下角Name属性修改为“tlsNotepad”
在这里插入图片描述
右击工具栏,插入标准项,插入后效果如图所示
在这里插入图片描述
右击工具栏编辑项(不用打印功能可以直接删除),此处对其他功能的各类属性无需修改
在这里插入图片描述
在这里插入图片描述

多格式文本框控件RichTextBox

将该控件拖至窗体的合适位置
在这里插入图片描述
单击工具栏,在右下角将其Name属性改为“rtxtNotepad”
在这里插入图片描述
Anchor属性选择为“Top,Bottom,Left,Right”(窗体大小改变该控件大小也改变)
在这里插入图片描述

状态栏控件StatusStrip

将该控件拖动到窗体合适位置
在这里插入图片描述
单击该控件(如图),在右下角找到Items属性,单击Items属性右边的三个省略号(如图)
在这里插入图片描述
在这里插入图片描述
修改相关属性如下表所示

Name属性 Anchor属性 Dock属性
stsNotepad Top,Left Bottom

添加两个默认选择项,属性设置如下表
在这里插入图片描述

Name属性 Text属性
tssLbl1 就绪
tssLbl2 显示日期、时间

效果显示如下图
在这里插入图片描述

打开对话框OpenFileDialog

将该控件拖入窗体中
在这里插入图片描述
单击窗体下方OpenFileDialog控件
在这里插入图片描述
右下角更改属性如图所示
在这里插入图片描述
在这里插入图片描述

保存对话框SaveFileDialog

将该控件拖入窗体中
在这里插入图片描述
单击窗体下方SaveFileDialog控件
在这里插入图片描述
右下角更改属性如图所示
在这里插入图片描述
在这里插入图片描述

字体对话框FontDialog

将该控件拖入窗体中
在这里插入图片描述
单击窗体下方FontDialog控件
在这里插入图片描述
右下角更改属性如下图
在这里插入图片描述

计时器控件Timer

将该控件拖入窗体中
在这里插入图片描述

单击窗体下方timer控件
在这里插入图片描述
右下角更改属性如下表

Name属性 tmrNotepad
Enabled属性 True
Interval属性 1000

最终界面效果展示

在这里插入图片描述

3.相关功能实现(具体代码)

公共变量声明

首先在代码的通用段声明两个布尔型的公共变量,“b”用于判断文件是新建的还是从磁盘打开的,“s”用于判断文件是否被保存。
双击窗体,进入代码区填写以下代码

/* 布尔变量b用于判断文件是新建的还是从磁盘打开的,
   true表示文件是从磁盘打开的,false表示文件是新建的,默认值为false*/
bool b = false;
/* 布尔变量s用于判断文件件是否被保存,
   true表示文件是已经被保存了,false表示文件未被保存,默认值为true*/
bool s = true; 

在这里插入图片描述

RichTextBox多格式文本框代码

当多格式文本框中的文本发生改变后,设置布尔变量“s”的值为false,表示文件未保存。
双击rtxtNotepad(在Form1.cs中找到/新建rtxtNotepad代码段),进入代码区填写以下代码

private void rtxtNotepad_TextChanged(object sender, EventArgs e)
{
   
   
    // 文本被修改后,设置s为false,表示文件未保存
    s = false;
}

在这里插入图片描述

菜单代码

【文件(F)】菜单

【新建(N)】菜单项

单击该菜单项时新建一个空白文档,首先应该判断文件是从磁盘打开的还是新建的,若从磁盘打开则将前面定义的变量(b)设为“true”,否则设为“false”。这样做可以根据这个变量对文件进行相应的操作。并且每次保存文件后,都要将前面定义的变量(s)设为“true”,表示文件已经被保存。
单击新建菜单时,如果当前文件是从磁盘打开的,并且已经过修改,则要按OpenFileDialog控件的路径来保存文件。如果是新建的文件且内容不为空,则需要用SaveFileDialog控件来保存文件。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值