c#记事本代码


前言

本项目设计并实现一个基于C#语言技术的记事本应用程序。该应用程序不仅提供了文本编辑的基本功能,如新建、打开、保存、编辑等,还增加了字体选择、格式设置、自动换行、状态栏显示等特性。此外,为了适应不同用户的操作习惯,程序还实现了视图和显示设置的自定义功能,包括状态栏的显示与隐藏、文本框的缩放等。

在程序设计上,采用了模块化的开发思路,将程序的主要功能划分为文件操作、编辑操作、字体与格式设置、视图与显示设置等模块。每个模块都通过事件驱动的方式进行设计,确保了程序的响应性和用户交互的流畅性。


一、类的构造

1.程序初始化与设置

初始化窗体,设置默认字体和字号。
加载窗体时,遍历所有字体家族并添加到字体下拉框中。
设置状态栏显示光标位置。

public partial class notepad : Form
{
   
    private string fileName = "";
    private bool txtHasChanged = false;

    public notepad()
    {
   
        InitializeComponent();
    }

    private void notepad_Load(object sender, EventArgs e)
    {
   
        this.Text = "无标题-记事本";
        foreach (FontFamily fontFamily in FontFamily.Families)
        {
   
            字体toolStripComboBox.Items.Add(fontFamily.Name);
        }
        string[] fontSize = {
    "初号", "小初", "一号", "小一", "二号", "小二", "三号", "小三", "四号", "小四", "五号", "小五", "六号", "小六", "七号", "八号", "8", "9", "10", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72" };
        foreach (string size in fontSize)
        {
   
            字号toolStripComboBox.Items.Add(size);
        }
        字体toolStripComboBox.SelectedIndex = 101;
        字号toolStripComboBox.SelectedIndex = 10;
        字体toolStripComboBox.SelectedIndexChanged -= 字体toolStripComboBox_SelectedIndexChanged;
        字号toolStripComboBox.SelectedIndexChanged -= 字号toolStripComboBox_SelectedIndexChanged;
        字体toolStripComboBox.SelectedIndexChanged += 字体toolStripComboBox_SelectedIndexChanged;
        字号toolStripComboBox.SelectedIndexChanged += 字号toolStripComboBox_SelectedIndexChanged;
    }
}

2.文件操作

打开文件:使用openFileDialog组件打开并读取文本文件。
保存文件:使用StreamWriter保存文本到文件,如果文件名为空则调用“另存为”。
另存为:使用saveFileDialog组件保存文本到新文件。
新建文件:清空文本框,重置文件名为空,更新窗体标题。

private void 打开OToolStripMenuItem_Click(object sender, EventArgs e)
{
   
    openFileDialog1.Title = "打开文件";
    openFileDialog1.InitialDirectory = @"D:\C#程序设计";
    openFileDialog1.Filter = "文本文件(*.txt)|*.txt";
    openFileDialog1.FilterIndex = 0;
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
   
        fileName = openFileDialog1.FileName;
        this.Text = fileName.Substring(fileName.LastIndexOf("\\") + 1) + "-记事本";
        StreamReader sr = new StreamReader(fileName, Encoding.UTF8);
        rtxtNote.Text = sr.ReadToEnd();
        sr.Close();
        txtHasChanged = true;
    }
}

private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)
{
   
    if (fileName.Length != 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值