《C#记事本课程设计.doc》由会员分享,可在线阅读,更多相关《C#记事本课程设计.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C#课程设计班级:实验项目名称:记事本实现学 号: 学生姓名: 一、实验目的(本次实验所涉及并要求掌握的知识点)1.通过实验掌握windows程序设计的基础,以及常见windows控件的使用;2.学习掌握记事本实现的思想以及编程方法;二、实验内容与设计思想(设计思路、主要数据结构、主要代码结构、主要代码段分析、电路图等) 实现记事本的Window运用程序,其功能能够实现记事本的功能(可参见Window附件中的记事本基本格式);三、实验使用环境(本次实验所使用的平台和相关软件)Windows操作系统Microsoft Visual Studio 2010编程软件四、实验步骤和调试过程(实验步骤、
2、测试数据设计、测试结果分析)记事本的实现:设计过程主要通过运用Window工具,利用MenuStrip工具设计主要的 功能格式,之后再通过RichTextBox工具设置所要实现的记事本的编辑框,作为输入输出时用(设置时为了提高实用性要求其在父容器中停靠);最后就是对照相应的控件进行相应的编程。其实现代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.T
3、ext;using System.Windows.Forms;using System.IO;namespace WindowsFormsApplication2 public partial class Form1 : Form public Form1() InitializeComponent(); private void 另存为ToolStripMenuItem_Click(object sender, EventArgs e) private void printDocument1_PrintPage(object sender, System.Drawing.Printing.P
4、rintPageEventArgs ev) TextReader streamToPrint = (TextReader)new StringReader(this.richTextBox1.Text); Font printFont = new Font(Arial, 10); float linesPerPage = 0; float yPos = 0; int count = 0; float leftMargin = ev.MarginBounds.Left; float topMargin = ev.MarginBounds.Top; string line = null; /计算每
5、页的行数 linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics); / 逐行打印 while (count 0) Clipboard.SetDataObject(this.richTextBox1.SelectedText); 粘贴ToolStripMenuItem.Enabled = true; this.richTextBox1.SelectedText = ; private void 复制ToolStripMenuItem_Click_1(object sender, EventArgs e) i
6、f (richTextBox1.SelectionLength 0) Clipboard.SetDataObject(this.richTextBox1.SelectedText); 粘贴ToolStripMenuItem.Enabled = true; private void 粘贴ToolStripMenuItem_Click_1(object sender, EventArgs e) IDataObject obj = Clipboard.GetDataObject(); this.richTextBox1.Text += (obj.GetData(DataFormats.Text).T
7、oString(); private void 删除ToolStripMenuItem_Click_1(object sender, EventArgs e) richTextBox1.SelectedText = ; private void 查找ToolStripMenuItem_Click_1(object sender, EventArgs e) Form1 f2 = new Form1(); f2.richTextBox1 = richTextBox1; f2.ShowDialog(); private void 替换ToolStripMenuItem_Click_1(object
8、sender, EventArgs e) Form1 f3 = new Form1(); f3.richTextBox1 = richTextBox1; f3.ShowDialog(); private void 时间日期ToolStripMenuItem_Click_1(object sender, EventArgs e) DateTime s = DateTime.Now; string a = s.ToString(); richTextBox1.Text += a; private void 全选ToolStripMenuItem_Click_1(object sender, Eve
9、ntArgs e) richTextBox1.SelectAll(); private void 字体ToolStripMenuItem_Click_1(object sender, EventArgs e) FontDialog a = new FontDialog(); a.ShowColor = true; a.ShowDialog(); richTextBox1.Font = a.Font; / richTextBox1.SelectionColor = a.Color; private void 状态栏ToolStripMenuItem_Click_1(object sender,
10、EventArgs e) if (statusStrip1.Visible = true) statusStrip1.Visible = false; 状态栏ToolStripMenuItem.Checked = false; richTextBox1.Height += 22; else statusStrip1.Visible = true; 状态栏ToolStripMenuItem.Checked = true; richTextBox1.Height -= 22; private void richTextBox1_TextChanged_1(object sender, EventA
11、rgs e) if (richTextBox1.Text != ) 撤销ToolStripMenuItem.Enabled = true; 剪切ToolStripMenuItem.Enabled = true; 复制ToolStripMenuItem.Enabled = true; 粘贴ToolStripMenuItem.Enabled = true; 删除ToolStripMenuItem.Enabled = true; 查找ToolStripMenuItem.Enabled = true; 替换ToolStripMenuItem.Enabled = true; 全选ToolStripMen
12、uItem.Enabled = true; else 剪切ToolStripMenuItem.Enabled = false; 复制ToolStripMenuItem.Enabled = false; 全选ToolStripMenuItem.Enabled = false; 粘贴ToolStripMenuItem.Enabled = false; 撤销ToolStripMenuItem.Enabled = false; 删除ToolStripMenuItem.Enabled = false; 查找ToolStripMenuItem.Enabled = false; 替换ToolStripMen
13、uItem.Enabled = false; string str = this.richTextBox1.Text; int m = this.richTextBox1.SelectionStart; int Ln = 0; int Col = 0; for (int i = m - 1; i = 0; i-) if (stri = n) Ln+; if (Ln 1) Col+; Ln = Ln + 1; Col = Col + 1; toolStripStatusLabel1.Text = 版权所有:X*Y +行: + Ln.ToString() + , + 列: + Col.ToStri
14、ng(); / private void 关于记事本ToolStripMenuItem_Click(object sender, EventArgs e) / / AboutBox1 ab = new AboutBox1(); / ab.Show(); / / private void 自动换行ToolStripMenuItem_Click(object sender, EventArgs e) / / if (richTextBox1.WordWrap = true) / / richTextBox1.WordWrap = false; / 自动换行ToolStripMenuItem.Che
15、cked = false; / richTextBox1.ScrollBars = RichTextBoxScrollBars.ForcedBoth; / / else / / richTextBox1.WordWrap = true; / 自动换行ToolStripMenuItem.Checked = true; / richTextBox1.ScrollBars = RichTextBoxScrollBars.ForcedVertical; / / 相关截图如下: 五、实验小结(实验中遇到的问题及解决过程、实验中产生的错误及原因分析、实验体会和收获)1.本实验过后,掌握了Window工具中的MenuStript、RichTextBox的作用以及使用,利用其成功的完成了记事本的格式设计2.学习到了文本编辑器的实现方法,能够通过查询资料用代码将其实现;3.在本次文本编辑器的实现过程中,学习到了一些重要的类以及函数六、附录参考文献和相关资料C#程序设计教程第二版
限制150内