C#实现简单记事本程序

作者:Hades_Dev 时间:2022-07-20 23:52:37 

本文实例为大家分享了使用C#写出一个简单的记事本程序,供大家参考,具体内容如下

编程语言: C#
编程环境: Visual Studio 2013
运行环境: .NET Framework 4.5

预览:

C#实现简单记事本程序

功能:

标题栏
显示文件标题

菜单栏
各类菜单命令

文件- 新建
- 打开
- 保存
- 另存为
- 页面设置
- 打印
- 退出

编辑
- 撤销
- 剪切
- 复制
- 粘贴
- 全选
- 时间/日期

格式
- 自动换行
- 字体

视图
- 状态栏
- 工具栏
- 全屏模式

帮助
- 开源许可
- 查看帮助
- 关于

工具栏
常用工具集合

标签栏
文件标签显示

工作区
编辑区

状态栏
显示文件状态

文本状态(新建/已修改)

  • 字符个数

  • 光标坐标

  • 功能实现

本程序有两个窗体,分别为Form1和AboutBox1

所有文件如下:

C#实现简单记事本程序

对于Form1:
需要引入的类库:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

窗体及空间声明代码:


private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem 文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 新建ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 打开ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 保存ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 另存为ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 编辑ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 格式ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 关于ToolStripMenuItem;
private System.Windows.Forms.TextBox editBox1;
private System.Windows.Forms.ToolStripMenuItem 撤销ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 剪切ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 复制ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 粘贴ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 删除ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 全选AToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 日期DToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 格式ToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem 字体ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 查看VToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 状态栏ToolStripMenuItem;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.SaveFileDialog saveFileDialog1;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem3;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem4;
private System.Windows.Forms.ToolStripMenuItem 页面设置UToolStripMenuItem;
private System.Drawing.Printing.PrintDocument printDocument1;
private System.Windows.Forms.PageSetupDialog pageSetupDialog1;
private System.Windows.Forms.ToolStripMenuItem 打印PToolStripMenuItem;
private System.Windows.Forms.PrintDialog printDialog1;
private System.Windows.Forms.ToolStripMenuItem 查看帮助HToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem5;
private System.Windows.Forms.ToolStripMenuItem 自动换行ToolStripMenuItem;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
public System.Windows.Forms.Timer timer1;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel2;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel3;
private System.Windows.Forms.ToolStripMenuItem 全屏模式ToolStripMenuItem;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton newButton;
private System.Windows.Forms.ToolStripButton openButton;
private System.Windows.Forms.ToolStripButton saveButton;
private System.Windows.Forms.ToolStripButton saveAsButton;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripButton cutButton;
private System.Windows.Forms.ToolStripButton copyButton;
private System.Windows.Forms.ToolStripButton pasteButton;
private System.Windows.Forms.ToolStripButton deleteButton;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripButton timeButton;
private System.Windows.Forms.ToolStripButton fullButton;
private System.Windows.Forms.ToolStripButton textButton;
private System.Windows.Forms.ToolStripMenuItem 工具栏ToolStripMenuItem;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel4;
private System.Windows.Forms.ToolStripMenuItem 开源许可OToolStripMenuItem;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.TextBox editBox2;1

窗体载入:


private void Form1_Load(object sender, EventArgs e)
 {
  this.editBox1.ScrollBars = ScrollBars.Both;
  this.editBox2.ScrollBars = ScrollBars.Both;
  this.Text = textFileName + " - " + programeName;//显示文件名
  this.timer1.Start();
  editBox1.Focus();

}

首先进行一些固定变量声明:


private string textFileName = "无标题";
private string programeName = "Icey";
private string filePath = "";
private string asFilePath = "";
private string selecteText = "";
private string helpUrl = "https://blog.mayuko.cn/icey";
private string openSourceUrl = "https://github.com/mayuko2012/icey";
private string wrongMessage = "你好像遇到了错误...";
private string fileFormat = "文本文件(*.txt)|*.txt|Icey文件(*.ice)|*.ice|C++文件(*.cpp)|*.cpp|C文件(*.c)|*.c|所有文件(*.*)|(*.*)";
private string tabFileName1 = "无标题1 - Icey";
private string tabFileName2 = "无标题2 - Icey";
 Boolean saveFileStatus1 = false;
 Boolean textChanged1 = false;
 Boolean saveFileStatus2 = false;
 Boolean textChanged2 = false;

保存文件采用函数形式:


private void saveFile()//保存
 {
  if (!textFileName.Equals(""))
  {
   SaveFileDialog saveFile = new SaveFileDialog();
   saveFile.Filter = fileFormat;
   saveFile.FileName = "*.txt";
   if (saveFile.ShowDialog() == DialogResult.OK)
   {
    filePath = saveFile.FileName;
    StreamWriter sw = new StreamWriter(filePath, false, Encoding.Default);
    sw.Write((editBox1.Focused) ? editBox1.Text : editBox2.Text);
    sw.Close();
    if (editBox1.Focused)
    {
     tabFileName1 = saveFile.FileName + " - " + programeName;
     saveFileStatus1 = true;
    }
    else if (editBox2.Focused)
    {
     tabFileName2 = saveFile.FileName + " - " + programeName;
     saveFileStatus2 = true;
    }

}
  }
  toolStripStatusLabel4.Text = "已保存";
 }

另存为采用函数形式:


private void saveAsFile()//另存为
 {
  SaveFileDialog saveAsFile = new SaveFileDialog();
  saveAsFile.Filter = fileFormat;
  saveAsFile.FileName = "*.txt";
  if (saveAsFile.ShowDialog() == DialogResult.OK)
  {
   asFilePath = saveAsFile.FileName;
   StreamWriter sw = new StreamWriter(asFilePath, false, Encoding.Default);
   sw.WriteLine((editBox1.Focused) ? editBox1.Text : editBox2.Text);
   sw.Close();
   FileInfo fileInfo = new FileInfo(saveAsFile.FileName);
   textFileName = fileInfo.Name;
  }
  toolStripStatusLabel4.Text = "已保存";
}

新建函数:


private void newFile()//新建
 {
  if (editBox1.Focused)
  {

if (editBox1.Text != String.Empty && saveFileStatus1 == false && textChanged1 == true)//如果文本框不为空
   {
    DialogResult result = MessageBox.Show("是否将窗口1已编辑文件保存到 " + textFileName, wrongMessage, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
    if (result == DialogResult.Yes)
    {
     saveFile();
     Application.Exit();
    }
    else if (result == DialogResult.No)
    {
     editBox1.Text = "";
    }
   }
   else
    editBox1.Text = "";
  }
  else if (editBox2.Focused)
  {
   if (editBox2.Text != String.Empty && saveFileStatus2 == false && textChanged2 == true)//如果文本框不为空
   {
    DialogResult result = MessageBox.Show("是否将窗口2已编辑文件保存到 " + textFileName, wrongMessage, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
    if (result == DialogResult.Yes)
    {
     saveFile();
     Application.Exit();
    }
    else if (result == DialogResult.No)
    {
     editBox2.Text = "";
    }
   }
   else
    editBox2.Text = "";
  }
}

打开文件函数:


private void openFile()//打开
  {
   OpenFileDialog openFile = new OpenFileDialog();
   openFile.Filter = fileFormat;
   if (openFile.ShowDialog() == DialogResult.OK)
   {
    StreamReader sr = new StreamReader(openFile.FileName, Encoding.Default);
    if (editBox1.Focused)
    {
     editBox1.Text = sr.ReadToEnd();
    }
    else if(editBox2.Focused)
    {
     editBox2.Text = sr.ReadToEnd();
    }
    sr.Close();
    FileInfo fileInfo = new FileInfo(openFile.FileName);
    if (editBox1.Focused)
    {
     tabFileName1 = fileInfo.Name + " - " + programeName;
     saveFileStatus1 = true;
    }
    else if (editBox2.Focused)
    {
     tabFileName2 = fileInfo.Name + " - " + programeName;
     saveFileStatus2 = true;
    }
    textFileName = fileInfo.Name;
   }
}

全屏模式函数:


private void fullScreen()//全屏
 {
  if (全屏模式ToolStripMenuItem.Checked == false)
  {
   this.WindowState = FormWindowState.Maximized;
   全屏模式ToolStripMenuItem.Checked = true;
   this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
  }
  else
  {
   this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
   this.WindowState = FormWindowState.Normal;
   全屏模式ToolStripMenuItem.Checked = false;
  }
}

退出菜单命令:


private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
 {
  if (editBox1.Text != String.Empty || saveFileStatus1 == false && textChanged1 == true)
  {
   this.tabPage1.Show();
   this.editBox1.Focus();
   DialogResult result = MessageBox.Show("是否将窗口1已编辑文件保存到 " + textFileName, wrongMessage, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
   if (result == DialogResult.Yes)
   {
    saveFile();
    Application.Exit();
   }
   else if (result == DialogResult.No)
   {
    Application.Exit();
   }
  }
  else if (editBox2.Text != String.Empty || saveFileStatus2 == false && textChanged2 == true)
  {
   this.tabPage2.Show();
   this.editBox2.Focus();
   DialogResult result = MessageBox.Show("是否将窗口2已编辑文件保存到 " + textFileName, wrongMessage, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
   if (result == DialogResult.Yes)
   {
    saveFile();
    Application.Exit();
   }
   else if (result == DialogResult.No)
   {
    Application.Exit();
   }
  }
  else
   Application.Exit();

}

Bool变量,用于判断TextBox是否发生变化:


private void textBox1_TextChanged(object sender, EventArgs e)
 {
  textChanged2 = true;
  toolStripStatusLabel4.Text = "已修改";
 }
 private void editBox2_TextChanged(object sender, EventArgs e)
 {
  textChanged2 = true;
  toolStripStatusLabel4.Text = "已修改";
 }

新建菜单命令:


private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
  newFile();
 }

打开菜单命令:


private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
  openFile();
 }

字体菜单命令:


private void 字体ToolStripMenuItem_Click(object sender, EventArgs e)
 {
  FontDialog fontDialog = new FontDialog();
  if (fontDialog.ShowDialog() == DialogResult.OK)
  {
   if (editBox1.Focused)
   {
    editBox1.Font = fontDialog.Font;
   }
   else
    editBox2.Font = fontDialog.Font;
  }
 }

退出动作(当用户点击窗体右上角退出按钮时执行此操作):


private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {
  if (editBox1.Text != String.Empty && e.CloseReason == CloseReason.UserClosing || saveFileStatus1 == false && textChanged1 == true)//如果文本框不为空&&触发关闭按钮事件
  {
   this.tabPage1.Show();
   this.editBox1.Focus();
   DialogResult result = MessageBox.Show("是否将窗体1已编辑文件保存到 " + textFileName, wrongMessage, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
   if (result == DialogResult.Yes)
   {
    saveFile();
    e.Cancel = false;
   }
   else if (result == DialogResult.No)
   {
    e.Cancel = false;
   }
   else if (result == DialogResult.Cancel)
   {
    e.Cancel = true;
   }
  }
  else if (editBox2.Text != String.Empty && e.CloseReason == CloseReason.UserClosing || saveFileStatus2 == false && textChanged2 == true)//如果文本框不为空&&触发关闭按钮事件
  {
   this.tabPage2.Show();
   this.editBox2.Focus();
   DialogResult result = MessageBox.Show("是否将窗口2已编辑文件保存到 " + textFileName, wrongMessage, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
   if (result == DialogResult.Yes)
   {
    saveFile();
    e.Cancel = false;
   }
   else if (result == DialogResult.No)
   {
    e.Cancel = false;
   }
   else if (result == DialogResult.Cancel)
   {
    e.Cancel = true;
   }
  }
  else
   Application.Exit();
 }

状态栏命令(状态栏是否显示):


private void 状态栏ToolStripMenuItem_Click(object sender, EventArgs e)
{
  if (状态栏ToolStripMenuItem.Checked == true)
  {
   状态栏ToolStripMenuItem.Checked = false;
   statusStrip1.Visible = false;
  }
  else
  {
   状态栏ToolStripMenuItem.Checked = true;
   statusStrip1.Visible = true;
  }
}

编辑命令:


private void 编辑ToolStripMenuItem_Click(object sender, EventArgs e)
 {
  if ((editBox1.SelectedText.Equals("")))
  {
   剪切ToolStripMenuItem.Enabled = false;
   复制ToolStripMenuItem.Enabled = false;
   删除ToolStripMenuItem.Enabled = false;
  }
  else
  {
   剪切ToolStripMenuItem.Enabled = true;
   复制ToolStripMenuItem.Enabled = true;
   删除ToolStripMenuItem.Enabled = true;
  }

}

全选命令:


private void 全选AToolStripMenuItem_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   this.editBox1.SelectAll();
  }
  else
   this.editBox2.SelectAll();
 }

剪切 复制 粘贴 删除命令:


private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   selecteText = editBox1.SelectedText;
   this.editBox1.Cut();
  }
  else
  {
   selecteText = editBox2.SelectedText;
   this.editBox2.Cut();
  }
 }

private void 撤销ToolStripMenuItem_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   this.editBox1.Undo();
  }
  else
   this.editBox2.Undo();
 }

private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   this.editBox1.Copy();
  }
  else
   this.editBox2.Copy();
 }

private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   this.editBox1.Paste();
  }
  else
   this.editBox2.Paste();
 }

private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   this.editBox1.SelectedText = "";
  }
  else
   this.editBox2.SelectedText = "";
 }

保存命令:


private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
  saveFile();
 }

另存为命令:


private void 另存为ToolStripMenuItem_Click(object sender, EventArgs e)
{
  saveAsFile();
 }

时间戳命令:


private void 日期DToolStripMenuItem_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   editBox1.AppendText(System.DateTime.Now.ToString());
  }
  else
   editBox2.AppendText(System.DateTime.Now.ToString());
 }

页面设置命令:


private void 页面设置UToolStripMenuItem_Click(object sender, EventArgs e)
 {
  pageSetupDialog1.Document = printDocument1;
  this.pageSetupDialog1.AllowMargins = true;
  this.pageSetupDialog1.AllowOrientation = true;
  this.pageSetupDialog1.AllowPaper = true;
  this.pageSetupDialog1.AllowPrinter = true;
  this.pageSetupDialog1.Document = this.printDocument1;
  pageSetupDialog1.ShowDialog();
 }

打印命令:


private void 打印PToolStripMenuItem_Click(object sender, EventArgs e)
 {
  this.printDialog1.Document = this.printDocument1;
  this.printDialog1.PrinterSettings = this.pageSetupDialog1.PrinterSettings;
  if (this.printDialog1.ShowDialog() == DialogResult.OK)
  {
   try
   {
    this.printDocument1.Print();
   }
   catch (Exception ex)
   {
    MessageBox.Show(ex.Message, wrongMessage, MessageBoxButtons.OK, MessageBoxIcon.Error);
   }
  }
 }

查看帮助 关于命令:


private void 查看帮助HToolStripMenuItem_Click(object sender, EventArgs e)
 {
  System.Diagnostics.Process.Start(helpUrl);
 }

private void 关于ToolStripMenuItem_Click(object sender, EventArgs e)
 {
  AboutBox1 about = new AboutBox1();
  about.StartPosition = FormStartPosition.CenterScreen;
  about.Show();
  about.Owner = this;
  //timer1.Stop();
 }

自动换行命令:


private void 自动换行ToolStripMenuItem_Click(object sender, EventArgs e)
 {
  if (自动换行ToolStripMenuItem.Checked == true)
  {
   editBox1.WordWrap = false;
   editBox2.WordWrap = false;
   自动换行ToolStripMenuItem.Checked = false;
  }
  else
  {
   editBox1.WordWrap = true;
   editBox2.WordWrap = true;
   自动换行ToolStripMenuItem.Checked = true;
  }
 }

计时器(100 ms刷新频率):


private void timer1_Tick(object sender, EventArgs e)
 {
  toolStripStatusLabel1.Text = (editBox1.Focused) ? editBox1.Text.Length.ToString() + " 个字符" : editBox2.Text.Length.ToString() + " 个字符";
  int totalline = (editBox1.Focused) ? editBox1.GetLineFromCharIndex(editBox1.Text.Length) + 1 : editBox2.GetLineFromCharIndex(editBox2.Text.Length) + 1;//得到总行数
  int index = (editBox1.Focused) ? editBox1.GetFirstCharIndexOfCurrentLine() : editBox2.GetFirstCharIndexOfCurrentLine();//得到当前行第一个字符的索引
  int line = (editBox1.Focused) ? editBox1.GetLineFromCharIndex(index) + 1 : editBox2.GetLineFromCharIndex(index) + 1;//得到当前行的行号
  int col = (editBox1.Focused) ? editBox1.SelectionStart - index + 1 : editBox2.SelectionStart - index + 1;//.SelectionStart得到光标所在位置的索引 - 当前行第一个字符的索引 = 光标所在的列数
  toolStripStatusLabel2.Text = "第" + line + "行,第" + col + "列";
  if (( (editBox1.Focused) ? editBox1.SelectedText.Equals(""):editBox2.SelectedText.Equals("")))
  {
   cutButton.Enabled = false;
   copyButton.Enabled = false;
   deleteButton.Enabled = false;
  }
  else
  {
   cutButton.Enabled = true;
   copyButton.Enabled = true;
   deleteButton.Enabled = true;
  }
  if (editBox1.Focused)
  {
   editBox1.Focus();
   this.Text = tabFileName1;
  }
  else
  {
   editBox2.Focus();
   this.Text = tabFileName2;
  }
  if (editBox2.Focused)
  {
   editBox2.Focus();
   this.Text = tabFileName2;
  }
  else
  {
   editBox1.Focus();
   this.Text = tabFileName1;
  }
 }

工具栏命令(工具栏是否显示):


private void 工具栏ToolStripMenuItem_Click(object sender, EventArgs e)
 {
  if (工具栏ToolStripMenuItem.Checked == false)
  {
   toolStrip1.Visible = true;
   工具栏ToolStripMenuItem.Checked = true;
  }
  else if(工具栏ToolStripMenuItem.Checked == true)
  {
   toolStrip1.Visible = false;
   工具栏ToolStripMenuItem.Checked = false;
  }
 }

开源许可命令:


private void 开源许可OToolStripMenuItem_Click(object sender, EventArgs e)
 {
  System.Diagnostics.Process.Start(openSourceUrl);
 }

工具栏的各个按钮:


private void newButton_Click(object sender, EventArgs e)
 {
  newFile();
 }

private void openButton_Click(object sender, EventArgs e)
 {
  openFile();
 }

private void saveButton_Click(object sender, EventArgs e)
 {
  saveFile();
 }

private void saveAsButton_Click(object sender, EventArgs e)
 {
  saveAsFile();
 }

private void cutButton_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   selecteText = editBox1.SelectedText;
   this.editBox1.Cut();
  }
  else
  {
   selecteText = editBox2.SelectedText;
   this.editBox2.Cut();
  }
 }

private void copyButton_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   this.editBox1.Copy();
  }
  else
   this.editBox2.Copy();
 }

private void pasteButton_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   this.editBox1.Paste();
  }
  else
   this.editBox2.Paste();
 }

private void deleteButton_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   this.editBox1.SelectedText = "";
  }
  else
   this.editBox2.SelectedText = "";
 }

private void timeButton_Click(object sender, EventArgs e)
 {
  if (editBox1.Focused)
  {
   editBox1.AppendText(System.DateTime.Now.ToString());
  }
  else
   editBox2.AppendText(System.DateTime.Now.ToString());
 }

private void textButton_Click(object sender, EventArgs e)
 {
  FontDialog fontDialog = new FontDialog();
  if (fontDialog.ShowDialog() == DialogResult.OK)
  {
   if (editBox1.Focused)
   {
    editBox1.Font = fontDialog.Font;
   }
   else
    editBox2.Font = fontDialog.Font;
  }
 }

private void fullButton_Click(object sender, EventArgs e)
 {
  fullScreen();
}

标签栏:


private void tabPage1_Click(object sender, EventArgs e)
 {
  editBox1.Focus();
  this.Text = tabPage1.Text;
  if (textChanged1 == false)
  {
   toolStripStatusLabel4.Text = "新建";
  }
 }

private void tabPage2_Click(object sender, EventArgs e)
 {
  editBox2.Focus();
  this.Text = tabPage2.Text;
  if (textChanged2 == false)
  {
   toolStripStatusLabel4.Text = "新建";
  }
 }

对于AboutBox:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Notepad
{
partial class AboutBox1 : Form
{
 public AboutBox1()
 {
  InitializeComponent();
  this.Text = String.Format("关于 {0}", AssemblyTitle);
  this.labelProductName.Text = AssemblyProduct;
  this.labelVersion.Text = String.Format("版本 {0}", AssemblyVersion);
  this.labelCopyright.Text = AssemblyCopyright;
  this.labelCompanyName.Text = AssemblyCompany;
  this.textBoxDescription.Text = AssemblyDescription;
 }

#region 程序集特性访问器

public string AssemblyTitle
 {
  get
  {
   object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
   if (attributes.Length > 0)
   {
    AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
    if (titleAttribute.Title != "")
    {
     return titleAttribute.Title;
    }
   }
   return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
  }
 }

public string AssemblyVersion
 {
  get
  {
   return Assembly.GetExecutingAssembly().GetName().Version.ToString();
  }
 }

public string AssemblyDescription
 {
  get
  {
   object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
   if (attributes.Length == 0)
   {
    return "";
   }
   return ((AssemblyDescriptionAttribute)attributes[0]).Description;
  }
 }

public string AssemblyProduct
 {
  get
  {
   object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
   if (attributes.Length == 0)
   {
    return "";
   }
   return ((AssemblyProductAttribute)attributes[0]).Product;
  }
 }

public string AssemblyCopyright
 {
  get
  {
   object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
   if (attributes.Length == 0)
   {
    return "";
   }
   return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
  }
 }

public string AssemblyCompany
 {
  get
  {
   object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
   if (attributes.Length == 0)
   {
    return "";
   }
   return ((AssemblyCompanyAttribute)attributes[0]).Company;
  }
 }
 #endregion

private void AboutBox1_Load(object sender, EventArgs e)
 {

}

private void okButton_Click(object sender, EventArgs e)
 {
  MessageBox.Show("已是最新版本!", "检查更新");
 }
 private void AboutBox1_FormClosing(object sender, FormClosingEventArgs e)
 {
  Form1 frm1 = (Form1)this.Owner;
  frm1.timer1.Start();
 }
}
}

来源:https://blog.csdn.net/mayuko2012/article/details/51570944

标签:C#,记事本
0
投稿

猜你喜欢

  • Spring interceptor拦截器配置及用法解析

    2023-06-26 06:08:15
  • SpringMVC加载控制与Postmand的使用和Rest风格的引入及RestFul开发全面详解

    2021-10-14 16:45:44
  • Spring Boot 配置和使用多线程池的实现

    2022-09-04 19:53:02
  • 推荐两款java开发实用工具 hutool 和 lombok

    2022-04-06 10:20:14
  • 基于servlet实现统计网页访问次数

    2021-11-05 08:35:13
  • Java数字格式类(NumberFormat类和DecimalFormat类)用法详解

    2022-11-14 14:54:02
  • Java常用的八种排序算法及代码实现+图解

    2022-04-09 13:30:06
  • Java泛型通配符的使用详解

    2022-07-08 14:08:43
  • 在IDEA中maven配置MyBatis的流程详解

    2021-08-26 17:02:27
  • Java多线程 Producer and Consumer设计模式

    2022-08-30 07:13:24
  • Java使用FFmpeg处理视频文件的方法教程

    2022-05-12 20:46:21
  • 二叉搜索树实例练习

    2022-09-20 22:03:06
  • maven工程中jar包瘦身的五种方法

    2023-11-04 05:01:54
  • 如何优雅的处理Spring Boot异常信息详解

    2023-11-29 09:50:02
  • Java实战入门之双色球彩票小游戏

    2023-05-12 04:07:13
  • Java之操作Redis案例讲解

    2023-06-18 03:48:41
  • Springboot Mybatis Plus自动生成工具类详解代码

    2022-09-17 12:01:57
  • 使用Springboot 打jar包实现分离依赖lib和配置

    2023-01-29 18:35:29
  • java字节码框架ASM的深入学习

    2023-11-29 05:51:19
  • Java多线程实现Runnable方式

    2022-06-29 17:09:46
  • asp之家 软件编程 m.aspxhome.com