记事本
要求
通过本章的学习,可以进一步掌握MenuStrip(菜单)、ToolStrip(工具栏)、RichTextBox(高级文本框)和StatusStrip(状态栏控件)等控件的使用,以及如何使用CommonDialog(公共对话框)实现对文本的存取、格式设置等操作。
记事本简介
记事本是一种常用的软件,在微软的Windows中,自带了一个记事本软件,Windows 10下的记事本软件如图示
实现了Windows自带的记事本的部分功能外,并且还可以任意更改字体的字体类型、大小和颜色,并在状态栏中显示时间。为了方便用户的操作,还在程序的窗体上放置了一个工具栏。
功能
本章介绍的记事本程序具有文件的新建、打开、保存功能;文字的复制、粘贴、删除功能;字体类型、格式的设置功能;查看日期时间等功能,并且用户可以根据需要显示或者隐藏工具栏和状态栏
记事本界面设计
- 创建项目
2.出现界面
3.修改属性
1.创建好项目后选择menustrip工具,添加菜单
界面设计
1.创建好项目后选择menustrip工具,添加菜单
2.添加子选项,并编辑其属性
插入标准项和必要控件
加入RichTextBox、StatusStrip、OpenFileDialog、SaveFileDialog、FontDialog、Timer控件
菜单代码
文件
// 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;
}
}
}
}
界面设计
添加windows窗体,命名为frmAbout,加入Label、Button、LinkLabel控件
工具栏代码
// private void tlsNotepad_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
int n;
// 变量n用来接收按下按钮的索引号从0开始
n = tlsNotepad.Items.IndexOf(e.ClickedItem);
switch (n)
{
case 0:
新建NToolStripButton_Click (sender, e);
break;
case 1:
打开OToolStripButton_Click (sender, e);
break;
case 2:
保存SToolStripButton_Click (sender, e);
break;
/*case 3:
tsmiCopy_Click(sender, e);
break;*/ // 我们不用case3
case 4:
剪切UToolStripButton_Click (sender, e);
break;
case 5:
粘贴PToolStripButton_Click (sender, e);
break;
/*case 6:
tsmiPaste_Click(sender, e);
break; */ // 我们不用case6
case 7:
tsmiAbout_Click (sender, e);
break;
}
}
心得体会
记事本跟着word做的,里面的讲解非常的细致,学到了很多的内容
控件,界面设计等等,慢慢来。