C#写一个简单的记事本功能
时间: 2023-08-05 12:06:04 浏览: 45
以下是一个简单的记事本功能的 C# 代码示例:
```
using System;
using System.IO;
using System.Windows.Forms;
namespace Notepad
{
public partial class Form1 : Form
{
string filePath = "";
public Form1()
{
InitializeComponent();
}
private void NewFile()
{
if (textBox1.Text.Length > 0)
{
DialogResult result = MessageBox.Show("Do you want to save changes to this file?", "Notepad", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
Save();
}
else if (result == DialogResult.Cancel)
{
return;
}
}
textBox1.Text = "";
filePath = "";
}
private void Open()
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
using (StreamReader reader = new StreamReader(openFileDialog.FileName))
{
textBox1.Text = reader.ReadToEnd();
filePath = openFileDialog.FileName;
}
}
}
private void Save()
{
if (filePath.Length > 0)
{
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.Write(textBox1.Text);
}
}
else
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
using (StreamWriter writer = new StreamWriter(saveFileDialog.FileName))
{
writer.Write(textBox1.Text);
filePath = saveFileDialog.FileName;
}
}
}
}
private void SaveAs()
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
using (StreamWriter writer = new StreamWriter(saveFileDialog.FileName))
{
writer.Write(textBox1.Text);
filePath = saveFileDialog.FileName;
}
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (textBox1.Text.Length > 0)
{
DialogResult result = MessageBox.Show("Do you want to save changes to this file?", "Notepad", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
Save();
}
else if (result == DialogResult.Cancel)
{
e.Cancel = true;
}
}
}
private void newToolStripMenuItem_Click(object sender, EventArgs e)
{
NewFile();
}
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
Open();
}
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
Save();
}
private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveAs();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
}
}
```
这个记事本应用程序基于 Windows 窗体,包括菜单栏、工具栏和一个文本框用于编辑文本。它支持新建、打开、保存、另存为和退出功能。它使用 OpenFileDialog 和 SaveFileDialog 对话框来打开和保存文件。在关闭应用程序时,如果存在未保存的更改,会提示用户保存更改。