C#实验-记事本(带源码)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

记事本——实验报告

一、实验目的

创建一个Windows窗体应用程序,实现记事本的基本功能,具体包括新建文件、打开文件、保存文件、查找等功能。该实验的目的是掌握:

(一)窗体程序的开发

(二)常用控件的使用

(三)常用事件的处理

(四)对话框的设计和使用

(五)文件访问的基本方法

二、实验内容

(一)主窗口Form1

图1 主窗口

主窗口界面如图1所示,功能包括基本编辑操作、主菜单和其它快捷键功能。

1、编辑功能用文本框实现。

2、窗口标题与文件名相一致。未打开文件时为“无标题”,打开文件(另存为)后为文件名。

3、支持菜单的热键和快捷键。二者的区别是前者是激活菜单且显示出该菜单项时有效,后者在任何时候有效。

4、实现新建、打开、保存和查找功能。

5、支持F3(查找下一个)。

表1 Form1控件列表

控件属性/事件值说明

Form1 KeyPreview True 否则Form1的KeyDown无效

文件FToolStripMenuItem

Text 文件(&F) &形成下划线

Click 文件NToolStripMenuItem_Click

文件NToolStripMenuItem

Text 新建(&N)

Click 打开OToolStripMenuItem_Click

using System;

using System.Collections.Generic;

using ponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form2 fm2 = null;

public string searchText = "";

public Form1()

{

InitializeComponent();

}

private void saveFile()

{

if (textBox1.Text.Length > 0 && textBox1.Modified) {

if (MessageBox.Show("想保存文件吗?", "记事本",

MessageBoxButtons.YesNoCancel,

MessageBoxIcon.Warning) == DialogResult.Yes)

{

SaveFileDialog d = new SaveFileDialog();

d.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";

if (d.ShowDialog() == DialogResult.OK)

{

FileStream fs = File.OpenWrite(d.FileName);

StreamWriter sr = new StreamWriter(fs);

sr.Write(textBox1.Text);

sr.Flush();

fs.Close();

}

}

}

}

private void文件NToolStripMenuItem_Click(object sender, EventArgs e) {

saveFile();

textBox1.Text = "";

Text = "无标题 - 记事本";

}

private void OpenFile()

{

OpenFileDialog d = new OpenFileDialog();

d.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";

if (d.ShowDialog() == DialogResult.OK)

{

FileStream fs = File.OpenRead(d.FileName);

StreamReader sr = new StreamReader(fs);

string s;

string s1 = "";

while ((s = sr.ReadLine()) != null)

{

s1 += s;

}

textBox1.Text = s1;

string fname = d.FileName.Substring(stIndexOf("\\") + 1);

Text = fname + " - 记事本";

}

}

private void打开OToolStripMenuItem_Click(object sender, EventArgs e) {

saveFile();

OpenFile();

}

private void保存SToolStripMenuItem_Click(object sender, EventArgs e) {

saveFile();

}

private void查找FToolStripMenuItem_Click(object sender, EventArgs e) {

if (fm2 == null)

{

fm2 = new Form2();

fm2.fm1 = this;

Form2.textBox2 = textBox1;

fm2.Show();

}

else

fm2.Activate();

}

private void textBox1_KeyDown(object sender, KeyEventArgs e)

{

if (e.KeyCode == Keys.A && e.Control && !e.Shift && !e.Alt)

{

textBox1.SelectAll();

e.Handled = true;

}

else if (e.KeyCode == Keys.F3 && !e.Control && !e.Shift && !e.Alt) {

Form2.findNext();

}

}

}

}

相关文档
最新文档