C#实现简单记事本程序
本文实例为大家分享了使用C#写出一个简单的记事本程序,供大家参考,具体内容如下
编程语言: 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#做项目的时候,基本上都需要制作登录界面,那么今天我们就来一步步看看,如果简单的实现登录界面呢,本文给出2个例子,由简入难,希望大家能够喜欢。...2020-06-25
- 这篇文章主要介绍了C# 字段和属性的的相关资料,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下...2020-11-03
- 这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
- 这篇文章主要介绍了C#实现简单的Http请求的方法,以实例形式较为详细的分析了C#实现Http请求的具体方法,需要的朋友可以参考下...2020-06-25
- 本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
- 本文主要介绍了C#中new的几种用法,具有很好的参考价值,下面跟着小编一起来看下吧...2020-06-25
使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)
这篇文章主要介绍了使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25- 这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
- 这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
- 最近做一个小项目不可避免的需要前端脚本与后台进行交互。由于是在asp.net中实现,故问题演化成asp.net中jiavascript与后台c#如何进行交互。...2020-06-25
- 本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
- 轻松学习C#的基础入门,了解C#最基本的知识点,C#是一种简洁的,类型安全的一种完全面向对象的开发语言,是Microsoft专门基于.NET Framework平台开发的而量身定做的高级程序设计语言,需要的朋友可以参考下...2020-06-25
- 本文主要介绍了C#变量命名规则小结,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-09
- 这篇文章主要介绍了C#绘制曲线图的方法,以完整实例形式较为详细的分析了C#进行曲线绘制的具体步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
- 这篇文章主要介绍了c#自带缓存使用方法,包括获取数据缓存、设置数据缓存、移除指定数据缓存等方法,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了c#中(&&,||)与(&,|)的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
- 这篇文章主要用实例讲解C#递归算法的概念以及用法,文中代码非常详细,帮助大家更好的参考和学习,感兴趣的朋友可以了解下...2020-06-25
- 下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- 这篇文章主要介绍了C#中list用法,结合实例形式分析了C#中list排序、运算、转换等常见操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25