吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4927|回复: 23
收起左侧

[其他转载] C#简单记事本源码,初学者可参考

  [复制链接]
小白1324 发表于 2020-11-15 21:07
自己边学边发的,大佬们嘴下留情{:301_1010:}



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _72.记事本应用程序
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    private void button1_Click(object sender, EventArgs e)
    {
        panel1.Visible = false;//点击<<按钮的时候也隐藏panel
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        panel1.Visible = false;//加载程序的时候隐藏panel
        textBox1.WordWrap = false;//加载程序的时候取消自动换行
    }

    private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        panel1.Visible = true;//点击显示的时候显示panel
    }

    private void 隐藏ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        panel1.Visible = false;//点击隐藏panel
    }

    List<string> list = new List<string>();

    /// <summary>
    /// 打开对话框
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        OpenFileDialog fod = new OpenFileDialog();
        fod.Title = "请选择要打开的文本文件";
        fod.InitialDirectory = @"C:\Users\Administrator\Desktop";//选择文件初始化的目录
        fod.Multiselect = true;//设置为可多选
        fod.Filter = "文本文件|*.txt|所有文件|*.*";//设定可选择文件类型
        fod.ShowDialog();

        //获得用户选中的文件的路径
        string path = fod.FileName;
        string wjm = Path.GetFileName(path);//重文件全路径中获取名字

        listBox1.Items.Add(wjm);
        //将文件的全路径存到泛型集合中
        list.Add(path);

        //判断获取路径是否为空(用户没有选择文件)
        if (path=="")
        {
            return;
        }
        using (FileStream a = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read))
        {
            byte[] AS = new byte[1024 * 1024 * 5];//一次读取5m数据
            int r = a.Read(AS,0,AS.Length);
            textBox1.Text = Encoding.UTF8.GetString(AS,0,r);//解码

        }

    }

    /// <summary>
    /// 保存对话框
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        SaveFileDialog bc = new SaveFileDialog();
        bc.InitialDirectory = @"C:\Users\Administrator\Desktop";
        bc.Title = "请选择要保存的文件路径";
        bc.Filter = "文本文档|*.txt|全部类型|*.*";
        bc.ShowDialog();

        //获得用户要保存的文件路径
        string path = bc.FileName;
        if (path=="")
        {
            return;//如果为空则什么都不做(如果缺少这个程序在某些情况下就会报错如:用户取消保存)
        }
        using (FileStream xie = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
        {
            byte[] bs = Encoding.UTF8.GetBytes(textBox1.Text);
            xie.Write(bs, 0, bs.Length);
        }
        MessageBox.Show("保存成功");

    }

    /// <summary>
    /// 菜单自动换行
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    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 zt = new FontDialog();
        zt.ShowDialog();
        textBox1.Font= zt.Font;
    }

    private void 颜色ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ColorDialog ys = new ColorDialog();
        ys.ShowDialog();
        textBox1.ForeColor = ys.Color;
    }

    /// <summary>
    /// 双击打开对应的文件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void listBox1_DoubleClick(object sender, EventArgs e)
    {
        //获得双击文件对应的文件全路径
        string path= list[listBox1.SelectedIndex];
        using (FileStream ds = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read))
        {
            byte[] bf = new byte[1024 * 1024*5];
            int r= ds.Read(bf, 0, bf.Length);

            textBox1.Text = Encoding.UTF8.GetString(bf,0,r);
        }

    }
}

}

无标题.png

简单记事本应用源码.rar

48.8 KB, 下载次数: 83, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
ebaolzh + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

苏格拉、没有底 发表于 2020-11-15 21:18
沙发沙发
大公无私 发表于 2020-11-15 21:19
迦南圣经 发表于 2020-11-15 21:21
小丑恶人 发表于 2020-11-15 21:51
貌似挺可以的,看看先
头像被屏蔽
Ryan袁奥 发表于 2020-11-15 21:57
提示: 作者被禁止或删除 内容自动屏蔽
糯米君 发表于 2020-11-15 21:58
学习了,收藏起来
我们该成熟 发表于 2020-11-15 22:03
拿走学习参考,谢谢楼主
说好的 发表于 2020-11-15 22:03
先收藏一波
unclear 发表于 2020-11-15 22:09
有点好奇用途
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 06:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表