using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace 记事本
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//编辑栏
private void 撤销ToolStripMenuItem_Click(object sender, EventArgs e) //撤销
{
if (textBox1.CanUndo == true) //判断是否能够撤销
{
textBox1.Undo(); //撤销最后一个操作。
textBox1.ClearUndo();//清除撤销缓冲区,以防止最后的动作被重做。
}
}
private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e) //剪切
{
textBox1.Cut(); //将选中的文本粘贴到剪贴板的控制。
}
private void 复制ToolStripMenuItem_Click(object sender, EventArgs e) //复制
{
textBox1.Copy(); //选中的文本复制到剪贴板。
}
private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e) //粘贴
{
textBox1.Paste(); //将当前文本剪贴板粘贴到文本框中。
}
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) //删除
{
textBox1.SelectedText = ""; //SelectedText 选中的文本
}
private void 全选ToolStripMenuItem_Click(object sender, EventArgs e) //全选
{
textBox1.SelectAll();
}
//文件栏(对话框)
private string Lujing; //定义一个变量来存放路径
private void 新建ToolStripMenuItem_Click(object sender, EventArgs e) //新建
{
if (this.textBox1.Text.Length>0) //只有文本长度不为0才会执行下面的代码
{
DialogResult drg = MessageBox.Show("是否进行保存","保存对话框",MessageBoxButtons.YesNo);
if(drg==DialogResult.Yes)
{
if (Lujing == null) //如果之前没有路径,就相当于执行另存为
{
saveFileDialog1.Filter = "文本文件|*.txt";
DialogResult lcw = saveFileDialog1.ShowDialog();
if (lcw == DialogResult.OK)
{
string file = saveFileDialog1.FileName;
//创建流
StreamWriter path = new StreamWriter(file);
path.Write(this.textBox1.Text);//将textBox1.text写入到路径里面
path.Close();
}
}
else
{
StreamWriter path = new StreamWriter(Lujing);
path.Write(this.textBox1.Text);
path.Close();
}
}
}
Lujing = null;//执行完新建将路径变为空,因为是新建的文本是不会有路径的.
this.textBox1.Text = ""; //将文本框清空
}
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e) //打开
{
//再打开文本的时候,先对之前的文本执行是否保存
if (this.textBox1.Text.Length > 0)
{
DialogResult drg = MessageBox.Show("是否进行保存", "保存对话框", MessageBoxButtons.YesNo);
if (drg == DialogResult.Yes)
{
if (Lujing == null) //如果之前没有路径,就相当于执行另存为
{
saveFileDialog1.Filter = "文本文件|*.txt";
DialogResult lcw = saveFileDialog1.ShowDialog();
if (lcw == DialogResult.OK)
{
string file = saveFileDialog1.FileName;
//创建流
StreamWriter path = new StreamWriter(file);
path.Write(this.textBox1.Text);//将textBox1.text写入到路径里面
path.Close();
}
}
else
{
StreamWriter path = new StreamWriter(Lujing);
path.Write(this.textBox1.Text);
path.Close();
}
}
//保存完之后再打开新的
openFileDialog1.Filter = "文本文件.txt|*.txt|所有文件|*.*"; //筛选文件类型
DialogResult dk = openFileDialog1.ShowDialog(); //创建一个枚举类型的变量dk来接收打开这个对话框
if (dk == DialogResult.OK) //如果点的是确定,才会执行下面的代码
{
string file = openFileDialog1.FileName;//定义一个变量来接收路径
//创建文件流 来将路径转换
StreamReader path = new StreamReader(file, Encoding.Default); //Encoding.Default 编码方式
textBox1.Text = path.ReadToEnd();//用ReadToEnd这个方法来将转换后的路径从头读到尾,从而显示在textbox1.text里面
path.Close();//用完流之后必须关闭
Lujing = file; //将路径存到Path里面
}
}
else
{
//如果没有文本,直接打开新的
openFileDialog1.Filter = "文本文件.txt|*.txt|所有文件|*.*"; //筛选文件类型
DialogResult dk = openFileDialog1.ShowDialog(); //创建一个枚举类型的变量dk来接收打开这个对话框
if (dk == DialogResult.OK) //如果点的是确定,才会执行下面的代码
{
string file = openFileDialog1.FileName;//定义一个变量来接收路径
//创建文件流 来将路径转换
StreamReader path = new StreamReader(file, Encoding.Default); //Encoding.Default 编码方式
textBox1.Text = path.ReadToEnd();//用ReadToEnd这个方法来将转换后的路径从头读到尾,从而显示在textbox1.text里面
path.Close();//用完流之后必须关闭
Lujing = file; //将路径存到Path里面
}
}
}
private void 保存ToolStripMenuItem_Click(object sender, EventArgs e) //保存
{
if(Lujing==null) //如果之前没有路径,就相当于执行另存为
{
saveFileDialog1.Filter = "文本文件|*.txt";
DialogResult lcw = saveFileDialog1.ShowDialog();
if (lcw == DialogResult.OK)
{
string file = saveFileDialog1.FileName;
//创建流
StreamWriter path = new StreamWriter(file);
path.Write(textBox1.Text);//将textBox1.text写入到路径里面
path.Close();
}
}
else //如果有路径,就存到之前的路径里面
{
StreamWriter path = new StreamWriter(Lujing);
path.Write(textBox1.Text);
path.Close();
}
}
private void 另存为ToolStripMenuItem_Click(object sender, EventArgs e) //另存为
{
saveFileDialog1.Filter = "文本文件|*.txt";
DialogResult lcw = saveFileDialog1.ShowDialog();
if(lcw==DialogResult.OK)
{
string file = saveFileDialog1.FileName;
//创建流
StreamWriter path = new StreamWriter(file);
path.Write(textBox1.Text);//将textBox1.text写入到路径里面
path.Close();
}
}
private void 页面设置ToolStripMenuItem_Click(object sender, EventArgs e) //页面设置
{
pageSetupDialog1.Document = printDocument1;//为页面设置对话框指定打印对象
pageSetupDialog1.ShowDialog();//打开页面对话框
}
private void 打印ToolStripMenuItem_Click(object sender, EventArgs e)//打印
{
DialogResult dy = printDialog1.ShowDialog();
if(dy==DialogResult.OK)
{
printDocument1.Print(); //打印对象
}
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) //设置打印画板
{ System.Drawing.Font f=new System.Drawing.Font("宋体",12);
e.Graphics.DrawString(this.textBox1.Text,f,SystemBrushes.ActiveBorder,5,5); //e 代表每一页
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) //退出
{
this.Close();
}
//格式
private void 自动换行ToolStripMenuItem_Click(object sender, EventArgs e)//自动换行
{
textBox1.WordWrap = !textBox1.WordWrap;//点一下自动换行,再点一下不自动换行 WordWrap 是否允许自动换行
自动换行ToolStripMenuItem.Checked = textBox1.WordWrap; //后面的小对号
}
private void 字体FToolStripMenuItem_Click(object sender, EventArgs e) //字体未完成
{
fontDialog1.ShowDialog();
MessageBox.Show( fontDialog1.Font.ToString());
}
private void printDocument2_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
}