c#简单记事本应用程序的快捷方式_用C#做一个简单记事本

本文介绍如何利用C#开发一个简单的记事本应用程序。从创建.NET Framework桌面应用开始,逐步添加菜单栏、RichTextBox、Panel、ListBox及各种功能按钮,包括文件打开、保存、自动换行、插入图片、设置字体和颜色等操作,同时实现文件列表的双击回显和隐藏显示面板的功能。
摘要由CSDN通过智能技术生成

1.我们先创建一个.NET Framework桌面应用程序。如下图:

创建项目

把程序命名为记事本

2. 放一个菜单栏写成下图:

3.放一个RichTextBox,把滚动条设为有竖向滚动条。

4、放一个Panel,里面放一个ListBox和Button。

5.给打开注册一个单击事件,代码如下:

List paths = new List();

private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)

{

OpenFileDialog ofd = new OpenFileDialog();

ofd.Title = "请选择要打开的文件";

ofd.Filter = "文本文件(*.txt)|*.txt|rtf文件(*.rtf)|*.rtf|身份证文件(*.sfz)|*.sfz";

ofd.Multiselect = true;

ofd.ShowDialog();

if(ofd.FileNames.Length==0)

{

return;

}

for (int i = 0; i < ofd.FileNames.Length; i++)

{

richTextBox1.Clear();

using (FileStream fs = new FileStream(ofd.FileNames[i],FileMode.Open,FileAccess.Read))

{

using (StreamReader sr=new StreamReader(fs,Encoding.Default))

{

while (!sr.EndOfStream)

{

richTextBox1.AppendText(sr.ReadLine() + "\r\n");

}

this.Text=Path.GetFileNameWithoutExtension(ofd.FileNames[i])+" - 记事本";

listBox1.Items.Add(Path.GetFileNameWithoutExtension(ofd.FileNames[i]));

paths.Add(ofd.FileNames[i]);

}

}

}

}

6.给保存注册一个单击事件,代码如下:

private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)

{

SaveFileDialog sfd = new SaveFileDialog();

sfd.Title = "请选择要保存的文件";

sfd.Filter = "文本文件(*.txt)|*.txt|rtf文件(*.rtf)|*.rtf|身份证文件(*.sfz)|*.sfz";

sfd.ShowDialog();

if(string.IsNullOrEmpty(sfd.FileName))

{

return;

}

using (FileStream fs = new FileStream(sfd.FileName, FileMode.Create,FileAccess.Write))

{

fs.Write(Encoding.Default.GetBytes(richTextBox1.Text), 0, Encoding.Default.GetBytes(richTextBox1.Text).Length);

}

MessageBox.Show("保存成功!","✌");

}

7.给窗体注册一个加载事件,代码如下:

private void Form1_Load(object sender, EventArgs e)

{

richTextBox1.WordWrap = false;

panel1.Visible = false;

}

8.给☆自动换行注册一个单击事件,代码如下:

private void 自动换行ToolStripMenuItem_Click(object sender, EventArgs e)

{

if(自动换行ToolStripMenuItem.Text=="☆自动换行")

{

自动换行ToolStripMenuItem.Text = "★取消自动换行";

richTextBox1.WordWrap = true;

}

else if(自动换行ToolStripMenuItem.Text=="★取消自动换行")

{

自动换行ToolStripMenuItem.Text = "☆自动换行";

richTextBox1.WordWrap = false;

}

}

9.给图片注册一个单击事件,代码如下:

private void 图片ToolStripMenuItem_Click(object sender, EventArgs e)

{

OpenFileDialog ofd = new OpenFileDialog();

ofd.Filter = "图片文件(*.png;*.jpg;*.jfif;*.bmp;*.jpeg;*.jpe)|*.png;*.jpg;*.jfif;*.bmp;*.jpeg;*.jpe";

ofd.ShowDialog();

Clipboard.SetDataObject(Image.FromFile(ofd.FileName), false);

richTextBox1.Paste();

}

10.给字体注册一个单击事件,代码如下:

private void 字体ToolStripMenuItem_Click(object sender, EventArgs e)

{

FontDialog fd = new FontDialog();

fd.ShowDialog();

richTextBox1.Font = fd.Font;

}

11.给颜色注册一个单击事件,代码如下:

private void 颜色ToolStripMenuItem_Click(object sender, EventArgs e)

{

ColorDialog cd = new ColorDialog();

cd.ShowDialog();

richTextBox1.ForeColor = cd.Color;

}

12.给显示注册一个单击事件,代码如下:

private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)

{

panel1.Visible = true;

}

13.给隐藏注册一个单击事件,代码如下:

private void 隐藏ToolStripMenuItem_Click(object sender, EventArgs e)

{

panel1.Visible = false;

}

14.给listBox注册一个双击事件,代码如下:

private void ListBox1_DoubleClick(object sender, EventArgs e)

{

richTextBox1.Clear();

using (FileStream fs=new FileStream(paths[listBox1.SelectedIndex],FileMode.Open,FileAccess.Read))

{

using (StreamReader sr =new StreamReader(fs,Encoding.Default))

{

while(!sr.EndOfStream)

{

richTextBox1.AppendText(sr.ReadLine() + "\r\n");

}

this.Text = Path.GetFileNameWithoutExtension(paths[listBox1.SelectedIndex]) + " - 记事本";

}

}

}

15.给Button注册一个单击事件,代码如下:

private void Button1_Click(object sender, EventArgs e)

{

panel1.Visible = false;

}

本章总结:对于MenuStrip、RichTextBox、Panel、ListBox、Button进行了巩固。

------------------------------------------------------------end------------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值