记事本设计步骤1. 新生成一Windows应用程序,将窗体的标题设置为“记事本”。
2. 在窗体上添加一menuStrip控件,默认Name 为menuStrip1 , 设置菜单内容如下表3. 在窗体上添加1个richTextBox控件,默认Name属性为richtextBox1,设置属性Dock为中心对齐,使文本框充满整个窗体。
4.给【新建】文件菜单添加代码如下:private void menuNew_Click(object sender, EventArgs e){richTextBox1.Clear();richTextBox1.Focus();richTextBox1.BackColor = Color.White;richTextBox1.ForeColor = Color.Black;richTextBox1.Font = new Font(richTextBox1.Font.FontFamily, 10);}5. 在窗体上添加openFileDialog , 默认Name属性:openFileDialog1 ,设置属性如下:openFileDialog1.InitialDirectory = "F:\\" ;openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;openFileDialog1.FilterIndex = 1 ;openFileDialog1.RestoreDirectory = true ;在【打开】菜单添加代码如下:private void menuOpen_Click(object sender, EventArgs e){if (openFileDialog1.ShowDialog() == DialogResult.OK){try{if ((openFileDialog1.FileName ) !=""){richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);}}catch (Exception ex){MessageBox.Show("错误: 不能读入指定文件. 错误消息: " + ex.Message);}}}6. 在窗体上添加saveFieDialog ,默认name为saveFileDialog1 ,设置属性如下:saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;saveFileDialog1.FilterIndex = 1 ;saveFileDialog1.RestoreDirectory = true ;在【保存】菜单添加代码如下:private void menuSave_Click(object sender, EventArgs e){if (saveFileDialog1.ShowDialog()== DialogResult.OK){try{if ((saveFileDialog1.FileName ) !=""){richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText); }}catch (Exception ex){MessageBox.Show("错误: 不能保存. 错误消息: " + ex.Message);}}}7. 给退出按钮添加代码。
Application.Exit();8. 给编辑菜单中的【剪切】、【复制】、【粘贴】、【全选】菜单添加代码:private void menuCut_Click(object sender, EventArgs e){richTextBox1.Cut();}private void menuCopy_Click(object sender, EventArgs e){richTextBox1.Copy();}private void menuPaste_Click(object sender, EventArgs e){richTextBox1.Paste();}private void menuSelectAll_Click(object sender, EventArgs e){richTextBox1.SelectAll();}9. 选中【自动换行】菜单(打开menuStrip1控件的Items属性,选中格式顶级菜单,打开DropDownItems属性,出现格式子菜单,选中menuWrap菜单),设置Checked属性为True 。
这时,自动换行菜单处于选中状态(因为richTextBox1.WordWrap属性默认是true)。
设置过程图示如下:【自动换行】菜单代码如下:private void menuWrap_Click(object sender, EventArgs e){menuWrap.Checked = !menuWrap.Checked;if (menuWrap.Checked == true ){ richTextBox1.WordWrap = true ;}else{richTextBox1.WordWrap =false ;}}10. 【对齐】菜单,将左对齐选中(checked属性为true). 【对齐】菜单代码如下:private void menuLeft_Click(object sender, EventArgs e){menuLeft.Checked = !menuLeft.Checked;if (menuLeft.Checked == true){richTextBox1.SelectionAlignment = HorizontalAlignment.Left; menuCentre.Checked = false;menuRight.Checked = false;}}private void menuCentre_Click(object sender, EventArgs e){menuCentre.Checked = !menuCentre.Checked;if (menuCentre.Checked == true){richTextBox1.SelectionAlignment = HorizontalAlignment.Center;menuLeft.Checked = false;menuRight.Checked = false;}}private void menuRight_Click(object sender, EventArgs e){menuRight.Checked = !menuRight.Checked;if (menuRight.Checked == true){richTextBox1.SelectionAlignment = HorizontalAlignment.Right;menuLeft.Checked = false;menuCentre.Checked = false;}}11.在窗体添加fontDialog对话框,默认name属性是fontDialog1 。
给【字体】菜单添加代码:private void menuFont_Click(object sender, EventArgs e){if (fontDialog1.ShowDialog() == DialogResult.OK){richTextBox1.Font = fontDialog1.Font;}}12. 在窗体上添加statusStrip控件(状态栏控件),name属性为statusStrip1,在Items属性中,添加一个toolStripStatusLabel,name属性为toolStripStatusLabel1 ,设置statusStrip1的visible属性为false ,使记事本运行时,不显示状态栏,当单击查看菜单的“状态栏”菜单后,显示状态栏,同时,状态栏中显示文字:“欢迎使用记事本!”。
【状态栏】菜单代码如下:private void menuState_Click(object sender, EventArgs e){menuState.Checked = !menuState.Checked;if (menuState.Checked == true){statusStrip1.Visible = true;toolStripStatusLabel1.Text = "欢迎使用记事本!";}else{statusStrip1.Visible = false;}}13. 在项目中添加一个windows窗体,名称为frmHelp ,在界面上添加一个文本框,一个按钮,写入部分帮助信息。
关闭按钮代码:this.close();在记事本窗体的【帮助主题】菜单下,添加代码如下:private void menuHelp_Click(object sender, EventArgs e){frmHelp fh1 = new frmHelp();fh1.Show();}14. 在项目中添加一个“关于”框,修改显示内容如下:public AboutBox1(){InitializeComponent();this.Text = String.Format("关于 {0} ", "记事本");belProductName.Text = "我的记事本";belVersion.Text = String.Format("版本{0}", "Version1.0");belCopyright.Text = "济宁职业技术学院电子信息工程系";belCompanyName.Text = "济宁职业技术学院电子信息工程系10级计应1、2班";this.textBoxDescription.Text = "济宁职业技术学院电子信息工程系10级计应1、2班的第一个设计作品诞生了!";}确定按钮添加代码如下:private void okButton_Click(object sender, EventArgs e){this.Close();}在记事本窗体的【关于记事本】菜单下,添加代码如下:private void menuAbout_Click(object sender, EventArgs e){AboutBox1 ab1 = new AboutBox1();ab1.Show();}。