18.WinForm练习--记事本应用程序

发布时间:2020-07-20 11:54:30 作者:初禾
来源:网络 阅读:305

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<string> list = new List<string>();
    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);
        }

    }
}

}

推荐阅读:
  1. group by 练习
  2. 我的shell练习

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

记事本程序 fo

上一篇:卸载postgresql数据库的方法

下一篇:python如何实现可变变量名

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》