在这里我做的这个记事本只实现了一些简单的功能。如:保存、复制、粘贴、自动换行、设置字体等......
注意:在做记事本的时候,我们要注意设计好窗体,设置好快捷键,方便后面的应用。
来看看我们设计的Windows窗体,在这里我们要用到菜单栏(MenuStrip)控件和下拉菜单。
我们在设置窗体的时候,在设置文本框中的滚动条时,将文本框的ScrollBars设置为Both,
WordWrap设置为false,下面来看应用程序的代码:
public frmMain() { InitializeComponent(); } //复制 private void mnuCopy_Click(object sender, EventArgs e) { this.txtContent.Copy(); } //粘贴 private void mnuPaste_Click(object sender, EventArgs e) { this.txtContent.Paste(); } //删除 private void mnuDelete_Click(object sender, EventArgs e) { //在用户选择好内容并点击删除时提示,看是否真的要删除 DialogResult dr= MessageBox.Show("是否真的要删除选中内容?","提示框",MessageBoxButtons.YesNo,MessageBoxIcon.Question); if (dr==DialogResult.No) { return; } this.txtContent.Cut(); Clipboard.Clear(); } //剪贴 private void mnuCut_Click(object sender, EventArgs e) { this.txtContent.Cut(); } //全选 private void mnuSelectAll_Click_1(object sender, EventArgs e) { this.txtContent.SelectAll(); } //撤销 private void mnuCancel_Click(object sender, EventArgs e) { this.txtContent.Undo(); } //新建 private void mnuNew_Click(object sender, EventArgs e) { this.txtContent.Text = ""; } //打开 private void mnuOpen_Click(object sender, EventArgs e) { //做一个OpenFileDialog对象,提示用户打开文件 OpenFileDialog ofd = new OpenFileDialog(); DialogResult dr=ofd.ShowDialog(); if (dr==DialogResult.Cancel) { return; } //将所选择的文件名给新定义的路径 string path = ofd.FileName; //做一个读取的的流,将路径传进去,并设置编码格式 StreamReader sr = new StreamReader(path,Encoding.GetEncoding("gb2312")); //将选择的文件中的内容都读取出来,并放到文本框中 string s = sr.ReadToEnd(); this.txtContent.Text = s; sr.Close(); } //保存 string savePath = null; private void mnuSave_Click(object sender, EventArgs e) { //判断路径是否为空 if (savePath == null) { //为空的话就要选择路径,做一个SaveFileDialog对象,提示用户选择路径 SaveFileDialog sfd = new SaveFileDialog(); DialogResult dr = sfd.ShowDialog(); if (dr == DialogResult.Cancel) { return; } //将所选择的文件名给新定义的路径 string path = sfd.FileName; //保存路径是用户所选择的路径 savePath = path; } //做一个写入的的流,将路径传进去,并设置编码格式 StreamWriter sw = new StreamWriter(savePath, false, Encoding.GetEncoding("gb2312")); //将文本框中的内容写到所选的路径中 sw.Write(this.txtContent.Text); sw.Flush(); sw.Close(); } //另存为 private void mnuSaveAs_Click(object sender, EventArgs e) { //做一个SaveFileDialog类的对象,提示用户选择文件的保存路径 SaveFileDialog sfd = new SaveFileDialog(); DialogResult dr = sfd.ShowDialog(); if (dr==DialogResult.Cancel) { return; } //得到路径 string path = sfd.FileName; savePath = path; StreamWriter sw = new StreamWriter(savePath,false,Encoding.GetEncoding("gb2312")); sw.Write(this.txtContent.Text); sw.Flush(); sw.Close(); } //退出 private void mnuExit_Click(object sender, EventArgs e) { this.Close(); } //字体 private void mnuFont_Click(object sender, EventArgs e) { FontDialog fd = new FontDialog(); //选择自字体的时候显示的是当前字体 fd.Font = this.txtContent.Font; DialogResult dr=fd.ShowDialog(); if (dr==DialogResult.Cancel) { return; } //文本内容的字体是选择的字体 this.txtContent.Font = fd.Font; } //自动换行 private void mnuWrape_Click(object sender, EventArgs e) { //每点一次它是否会选择就会和当前的值相反 this.mnuWrape.Checked= !this.mnuWrape.Checked; //当前文档是否换行 this.txtContent.WordWrap = this.mnuWrape.Checked; }
这样我们就实现了一个简单的记事本,在这里面我们就可以进行基本的文本操作了。
编辑,保存我们的文档。
加油!!!!