18.WinForm练习--记事本应用程序
标签:info 获得 换行 code pre pac led list title
namespace _18记事本应用程序
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//加载程序的时候隐藏panel
panel1.Visible = false;
//取消文本框自动换行
textBox1.WordWrap = false;
}
private void button1_Click(object sender, EventArgs e)
{
//点击按钮时也将panel隐藏
panel1.Visible = false;
}
private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
{
//点击显示按钮时显示panel
panel1.Visible = true;
}
private void 隐藏ToolStripMenuItem_Click(object sender, EventArgs e)
{
//点击隐藏按钮时隐藏panel
panel1.Visible = false;
}
//获得打开文件的全路径
List list = new List();
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
//打开对话框
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "请选择要打开的文件";
ofd.InitialDirectory = @"C:\Users\Administrator.USER-20180925HC\Desktop\pic";
ofd.Multiselect = true;
ofd.Filter = "文本文件|*.txt|所有文件|*.*";
//显示打开对话框
ofd.ShowDialog();
//将选中打开的txt文件展现在textBox中
//获得文件的全路径
string path = ofd.FileName;
//添加全路径到list集合中
list.Add(path);
//获得用户打开的文件名
string fileName = Path.GetFileName(path);
//将文件名赋值给listBox
listBox1.Items.Add(fileName);
//判断路径是否为空
if (path == "")
{
return;
}
//如果路径不为空
using (FileStream fsRead = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read))
{
//读到字节数组当中
byte[] buffer = new byte[1024 * 1024 * 5];
//调用读取的方法
int r = fsRead.Read(buffer, 0, buffer.Length);
//开始解码,解码后赋值给textBox
textBox1.Text = Encoding.Default.GetString(buffer,0, r);
}
}
private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
{
//保存对话框
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "请选择保存路径";
sfd.InitialDirectory = @"C:\Users\Administrator.USER-20180925HC\Desktop\pic";
sfd.Filter = "文本文件|*.txt|所有文件|*.*";
sfd.ShowDialog();
//获得文件要保存的路径
string path = sfd.FileName;
//判断路径是否为空
if (path == "")
{
return;
}
//不为空则开始解码
using(FileStream fsWrite=new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
{
byte[] buffer = Encoding.Default.GetBytes(textBox1.Text);
fsWrite.Write(buffer, 0, buffer.Length);
}
MessageBox.Show("保存成功");
}
private void 自动换行ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (自动换行ToolStripMenuItem.Text == "自动换行")
{
textBox1.WordWrap = true;
自动换行ToolStripMenuItem.Text = "取消自动换行";
}
else if(自动换行ToolStripMenuItem.Text=="取消自动换行")
{
textBox1.WordWrap = false;
自动换行ToolStripMenuItem.Text = "自动换行";
}
}
private void 字体ToolStripMenuItem_Click(object sender, EventArgs e)
{
FontDialog fd = new FontDialog();
fd.ShowDialog();
textBox1.Font = fd.Font;
}
private void 颜色ToolStripMenuItem_Click(object sender, EventArgs e)
{
ColorDialog cd = new ColorDialog();
cd.ShowDialog();
textBox1.ForeColor = cd.Color;
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void listBox1_DoubleClick(object sender, EventArgs e)
{
//双击listBox文件列表文件名,则在textBox显示文件信息
//获得双击文件的全路径
string path = list[listBox1.SelectedIndex];
using (FileStream fsRead = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read))
{
byte[] buffer = new byte[1024 * 1024 * 5];
int r = fsRead.Read(buffer, 0, buffer.Length);
textBox1.Text = Encoding.Default.GetString(buffer, 0, r);
}
}
}
}
18.WinForm练习--记事本应用程序
标签:info 获得 换行 code pre pac led list title
原文地址:https://blog.51cto.com/12679593/2398965
评论