using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace jishiben
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
///<summart>
///保存原始内容
///</summary>
private String OringinalContent = "";
///打开的文件名
private String _FileName = "";
public String FileName
{
get
{
return _FileName;
}
set
{
_FileName = value;
//赋值时同步更新窗体标题
Text = Path.GetFileName(value) + "_我的记事本";
}
}
private void Save()
{
bool ShouldSave = false;
if (FileName != "")
{
if (txtEditor.Text != OringinalContent && MessageBox.Show("文件已修改,保存吗?", "保存文件", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
ShouldSave = true;
}
}
else
{
if (txtEditor.Text != "" && saveFileDialog1.ShowDialog() == DialogResult.OK)
{
FileName = saveFileDialog1.FileName;
ShouldSave = true;
}
}
if (ShouldSave)
{
try
{
File.WriteAllText(FileName, txtEditor.Text);
OringinalContent = txtEditor.Text;
lblInfo.Text = "文件已保存";
}
catch(Exception)
{
lblInfo.Text="文件保存失败";
}
}
}
private void label1_Click(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
lblTimer.Text = DateTime.Now.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
lblTimer.Text = "";
lblInfo.Text = "";
Text = "无标题";
}
private void button2_Click(object sender, EventArgs e)
{
Save();
}
private void button1_Click(object sender, EventArgs e)
{
open();
}
private void open()
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
FileName = openFileDialog1.FileName;
try
{
OringinalContent = File.ReadAllText(FileName);
txtEditor.Text = OringinalContent;
}
catch (Exception)
{
lblInfo.Text = "无法打开文件";
}
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Save();
}
}
}
效果预览: