怎么用c#写记事本程序?

 我来答
qiuhulai
推荐于2019-10-10 · 超过14用户采纳过TA的回答
知道答主
回答量:28
采纳率:100%
帮助的人:18.3万
展开全部
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Mickey记事本
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

// 用于存储当前操作的文件的名称
private string textFileName = "";
private string filePath = "";
private void 新建_Click(object sender, EventArgs e)
{
textFileName = "";
// 新建一个文本时,若输入框中的内容不为空,应先提示“是否保存”
if (inputInfo.Text != string.Empty)
{
// 若用户选择“是”,应弹出保存文件的对话框
if (MessageBox.Show("是否保存当前文件?", "Mickey温馨提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information)
== DialogResult.Yes)
{
// 保存文件
Save();
Text = "新建-Mickey记事本";
inputInfo.Text = "";
}
else if (MessageBox.Show("是否保存当前文件?", "Mickey温馨提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information)
== DialogResult.No)
{
// 用户选择不保存时将输入框中的内容清除
inputInfo.Text = "";
}
}
}

private void 打开_Click(object sender, EventArgs e)
{
OpenFileDialog openFile = new OpenFileDialog();
openFile.Filter = "文本文件(*.txt)|*.txt";
if (openFile.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(openFile.FileName);
inputInfo.Text = sr.ReadToEnd();
sr.Close();
FileInfo fileInfo = new FileInfo(openFile.FileName);
// 把标题改为打开的文件的名称
Text = "*" + fileInfo.Name + "-Mickey记事本";
textFileName = fileInfo.Name;
}
}

private void 保存_Click(object sender, EventArgs e)
{
Save();
}
// “保存”
private void Save()
{
if (!textFileName.Equals(""))
{
SaveFileDialog saveFile = new SaveFileDialog();
// 默认保存格式
saveFile.Filter = "文本文件(*.txt)|*.txt";
StreamWriter sw = new StreamWriter(filePath, false);
sw.Write(inputInfo.Text);
sw.Close();

MessageBox.Show("文件保存成功!", "Mickey温馨提示");
filePath = saveFile.FileName;
// 把标题改为打开的文件的名称
Text = textFileName + "-Mickey记事本";
}
else
{
// 成员变量为“”,说明文件第一次保存,执行“另存为”操作
HoldFile();
}
}

private void HoldFile()
{
// 若用户选择另保存文件
SaveFileDialog saveFile = new SaveFileDialog();
// 默认保存格式
saveFile.Filter = "文本文件(*.txt)|*.txt";
if (saveFile.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveFile.FileName, false);
sw.WriteLine(inputInfo.Text);
sw.Close();
MessageBox.Show("文件保存成功!", "Mickey温馨提示");
filePath = saveFile.FileName;
}
// 判断是第一次保存还是第二次
if (textFileName.Equals(""))
{
FileInfo fileInfo = new FileInfo(saveFile.FileName);
Text = fileInfo.Name + "-Mickey记事本";
textFileName = fileInfo.Name;
}
else
{
// 把标题改为打开的文件的名称
Text = textFileName + "-Mickey记事本";
}
}

private void 另存为_Click(object sender, EventArgs e)
{
HoldFile();
}

private void 页面设置_Click(object sender, EventArgs e)
{
this.pageSetupDialog1.Document = this.printDocument1;
pageSetupDialog1.ShowDialog();
}

private void 打印_Click(object sender, EventArgs e)
{
if (inputInfo.Text.Length < 1)
{
MessageBox.Show("请确保要打印的文件的内容不为空!", "Mickey温馨提示");
return;
}
else
{
// 设置Document的属性
this.printDialog1.Document = this.printDocument1;
this.printDialog1.PrinterSettings = this.pageSetupDialog1.PrinterSettings;
if (this.printDialog1.ShowDialog() == DialogResult.OK)
{
try
{
this.printDocument1.Print();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}

private void 退出_Click(object sender, EventArgs e)
{
// 退出时应提示用户是否保存当前文本文件
DialogResult result = MessageBox.Show("是否将更改保存?", "Mickey温馨提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
if (result == DialogResult.Yes)
{
Save();
Application.Exit();
}
else if (result == DialogResult.No)
{
Application.Exit();
}
}

// 这个成员变量用来存储用户选择进行操作的字符串
private string selectedInfo = "";

private void 编辑_Click(object sender, EventArgs e)
{
if ((inputInfo.SelectedText.Equals("")) && (selectedInfo.Equals("")))
{
剪切.Enabled = false;
复制.Enabled = false;
粘贴.Enabled = false;
删除.Enabled = false;
}
else
{
剪切.Enabled = true;
复制.Enabled = true;
粘贴.Enabled = true;
删除.Enabled = true;
}
}

private void 撤销_Click(object sender, EventArgs e)
{
this.inputInfo.Undo();
}
private void 剪切_Click(object sender, EventArgs e)
{
selectedInfo = inputInfo.SelectedText;
this.inputInfo.Cut();
}
private void 复制_Click(object sender, EventArgs e)
{
this.inputInfo.Copy();
}
private void 粘贴_Click(object sender, EventArgs e)
{
this.inputInfo.Paste();
}
private void 删除_Click(object sender, EventArgs e)
{
this.inputInfo.SelectedText = "";
}

private void 查找_Click(object sender, EventArgs e)
{
if (inputInfo.Text == string.Empty)
{
MessageBox.Show("请确保要查找的文件的内容不为空!", "Mickey温馨提示");
}
else
{
//Form2 fr2 = new Form2();
//fr2.sender(this);
//fr2.Show();
}
}
private void 查找下一个_Click(object sender, EventArgs e)
{
}

private void 全选_Click(object sender, EventArgs e)
{
this.inputInfo.SelectAll();
//全选_Click(sender,e);
}
private void 时间日期_Click(object sender, EventArgs e)
{
inputInfo.Text += "现在时间是:" + DateTime.Now.ToString();
}

private void 自动换行_Click(object sender, EventArgs e)
{
if (自动换行.Checked == true)
{
inputInfo.WordWrap = true;
}
else
{
inputInfo.WordWrap = false;
}
}

private void 字体_Click(object sender, EventArgs e)
{
FontDialog fontDialog = new FontDialog();
if (fontDialog.ShowDialog() == DialogResult.OK)
{
inputInfo.Font = fontDialog.Font;
}
}

private void 查看_Click(object sender, EventArgs e)
{
if (inputInfo.Text.Length > 0)
{
状态栏.Enabled = true;
}
else
{
状态栏.Enabled = false;
}
}

private void 状态栏_Click(object sender, EventArgs e)
{
if (状态栏.Checked == true)
{
状态栏.Checked = false;
statusStrip1.Visible = false;
}
else
{
状态栏.Checked = true;
statusStrip1.Visible = true;
}

}

private void 查看帮助_Click(object sender, EventArgs e)
{
string help = @"C:\Users\狗狗Mickey\Desktop\help.txt";
Help.ShowHelp(this, help);
}

private void 关于记事本_Click(object sender, EventArgs e)
{
AboutBox1 about = new AboutBox1();
about.Show();
}
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式