一、介绍本次所写记事本,实现了Windows自带的记事本的部分功能;具有文件的新建、打开、保存功能;文字的复制、粘贴、删除功能;字体类型、格式的设置功能;查看日期时间等功能,并且用户可以根据需要显示或者隐藏工具栏和状态栏。
二、代码
(1)新建
private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (od.FileName != "" && richboxTextHasChanged == true && MessageBox.Show("文本内容已更改\n是否保存修改?", "信息提示", MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK)
{//若文本改动,首先保存
richTextBox1.SaveFile(od.FileName, RichTextBoxStreamType.PlainText);
}
//不然初始化界面
od.FileName = "";
this.Text = "记事本";
this.richTextBox1.Clear();
this.richboxTextHasChanged = false;
}
(2)打开
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
od.ShowDialog();//选择打开文本文件
if (od.FileName != "")
{
//将文本文件里面的内容加载到界面内
richTextBox1.LoadFile(od.FileName, RichTextBoxStreamType.PlainText);
this.Text = od.FileName + "-记事本";
}
}
(3)保存
private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (od.FileName != "")
{
richTextBox1.SaveFile(od.FileName, RichTextBoxStreamType.PlainText);
}
else
MessageBox.Show("请先打开文本文件", "信息提示", MessageBoxButtons.OK);
}
(4)另存
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
if (sd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
richTextBox1.SaveFile(sd.FileName, RichTextBoxStreamType.PlainText);
}
}
(5)复制
private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Copy();
}
(6)剪切
private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Cut();
}
(7)粘贴
private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.Paste();
}
(8)字体
private void 字体ToolStripMenuItem_Click(object sender, EventArgs e)
{//设置字体
FontDialog fd = new FontDialog();
fd.ShowDialog();
richTextBox1.Font = fd.Font;
}
(9)全选
private void 全选AToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.SelectAll();
}
(10)时间日期
private void 时间日期DToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1.AppendText(System.DateTime.Now.ToString());
}
(11)查看帮助
private void 查看帮助ToolStripMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("https://answers.microsoft.com/en-us/windows/forum/apps_windows_10");
}
(12)关于记事本
private void 关于记事本AToolStripMenuItem_Click(object sender, EventArgs e)
{
AboutBox.Form1 about = new AboutBox.Form1();
about.ShowDialog();
}
(13)右下角显示时间、日期信息
private void timer1_Tick(object sender, EventArgs e)
{
//每隔一段时间更新下时间信息
label2.Text = "时间:"+DateTime.Now.ToLongTimeString().ToString();
}
(14)退出
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Dispose();
this.Close();
}
三、结果截图
下面附上源代码gitee仓库地址: