C#如何实现简单记事本程序-创新互联
这篇文章主要介绍了C#如何实现简单记事本程序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联于2013年创立,先为福田等服务建站,福田等地企业,进行企业商务咨询服务。为福田企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。具体内容如下
编程语言: C#
编程环境: Visual Studio 2013
运行环境: .NET Framework 4.5
预览:
功能:
标题栏
显示文件标题
菜单栏
各类菜单命令
文件- 新建
- 打开
- 保存
- 另存为
- 页面设置
- 打印
- 退出
编辑
- 撤销
- 剪切
- 复制
- 粘贴
- 全选
- 时间/日期
格式
- 自动换行
- 字体
视图
- 状态栏
- 工具栏
- 全屏模式
帮助
- 开源许可
- 查看帮助
- 关于
工具栏
常用工具集合
标签栏
文件标签显示
工作区
编辑区
状态栏
显示文件状态
文本状态(新建/已修改)
字符个数
光标坐标
功能实现
本程序有两个窗体,分别为Form1和AboutBox1
所有文件如下:
对于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(); } } }
C#是什么
C#是一个简单、通用、面向对象的编程语言,它由微软Microsoft开发,继承了C和C++强大功能,并且去掉了一些它们的复杂特性,C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程从而成为.NET开发的选语言,但它不适用于编写时间急迫或性能非常高的代码,因为C#缺乏性能极高的应用程序所需要的关键功能。
感谢你能够认真阅读完这篇文章,希望小编分享的“C#如何实现简单记事本程序”这篇文章对大家有帮助,同时也希望大家多多支持创新互联成都网站设计公司,关注创新互联成都网站设计公司行业资讯频道,更多相关知识等着你来学习!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、网站设计器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页标题:C#如何实现简单记事本程序-创新互联
URL链接:http://ybzwz.com/article/hipdp.html