C#记事本项目开发,2021BTAJ面试真题详解

这篇博客详细介绍了如何在Windows窗体应用中构建一个记事本,包括添加新建、打开、保存文件功能,以及字体样式、字号的选择和加粗、倾斜等文本编辑功能。通过实例代码展示了如何获取系统字体、改变字体和字号,以及实现加粗和倾斜按钮的效果。此外,还涵盖了文件保存和打开的逻辑处理,确保用户能顺利进行文本编辑和文件管理。
摘要由CSDN通过智能技术生成

那么在记事本应用中,我们应该添加在窗体中的控件应该有,文件的新建、打开、保存,以及字体的样式、字号、是否加粗倾斜这些基本的记事本控件。同时当然还需要记事本的编辑文本框,方便我们对内容的修改和输入。

了解了这些基本的控件之后,就是我们对每一个控件所绑定的函数的书写了,

获取系统字体函数


首先我们是在设置字体时的需要获取到系统的所有字体样式,

通过以下函数实现:


//获取系统字体

        private void FormSon_Load(object sender, EventArgs e)

        {

            //窗体加载时要加载的字体

            InstalledFontCollection MyFontStaly = new InstalledFontCollection();

            //获取InstalledFontCollection对象的数据

            FontFamily[] ff = MyFontStaly.Families;

            //定义一个新的ArrayList数组列表

            ArrayList list = new ArrayList();

            //获取到字体数组的列表的长度

            int count = ff.Length;

            for (int i = 0; i < count; i++)

            {

                //获取到字体数组的字体的名字

                string FontName = ff[i].Name;

                //将字体保存在字体控件中

                toolStripComboBox_fonyStaly.Items.Add(FontName);

            }

        } 

字体空间函数


在获取到系统可以设置的所有字体样式之后,就是我们在点击字体时,字体变化的控件了,在这里我们需要在改变字体索引的控件中进行设置,

函数如下:


 //改变字体的索引

    private void toolStripComboBox_fonyStaly_SelectedIndexChanged(object sender, EventArgs e)

    {

        //接收当前字体框的文本

        string fontname = toolStripComboBox_fonyStaly.Text;

        //接收当前字号框的数值

        float fontsize = float.Parse(toolStripComboBox_fontSize.Text);

        textBox_Text.Font = new Font(fontname, fontsize);

    } 

字号空间函数


设置完成字体控件的属性之后,就是字号属性了,与设置字体控件的思路相似,我们同样需要先获取到改变字号的索引,函数如下:


 //改变字号的索引

    private void toolStripComboBox_fontSize_SelectedIndexChanged(object sender, EventArgs e)

    {

        //接收当前字体框的文本

        string fontname = toolStripComboBox_fonyStaly.Text;

        //接收当前字号框的数值

        float fontsize = float.Parse(toolStripComboBox_fontSize.Text);

        textBox_Text.Font = new Font(fontname, fontsize);

    } 

在字号发生变化时,我们需要将文本框中的内容的字号进行改变,这个时候就需要我们在相应的函数中进行设置:


//当字号发生改变时

private void toolStripComboBox_fontSize_TextChanged(object sender, EventArgs e)

{

    //接收当前字体框的文本

    string fontname = toolStripComboBox_fonyStaly.Text;

    //接收当前字号框的数值

    float fontsize = float.Parse(toolStripComboBox_fontSize.Text);

    textBox_Text.Font = new Font(fontname, fontsize);

} 

加粗控件函数



 //加粗按钮

    private void toolStripButton_over_Click(object sender, EventArgs e)

    {

        //点击加粗按钮,字体加粗,加粗是点击按钮取消加粗



        //如果目前处于未加粗状态,点击进行加粗

        if (textBox_Text.Font.Bold == false)

        {

            textBox_Text.Font = new Font(textBox_Text.Font, FontStyle.Bold);



        }

        //如果当前处于加粗状态,点击取消加粗

        else

        {

            textBox_Text.Font = new Font(textBox_Text.Font, FontStyle.Regular);



        }

        

    } 

倾斜控件函数



//倾斜按钮

private void toolStripButton_slanr_Click(object sender, EventArgs e)

{

    if (textBox_Text.Font.Italic == false)

    {

        textBox_Text.Font = new Font(textBox_Text.Font, FontStyle.Italic);

    }

    else

    {

        textBox_Text.Font = new Font(textBox_Text.Font, FontStyle.Regular);

    }

} 

保存控件函数


在做保存控件的时候,我们需要考虑到一点,就是我们所保存的文件信息,是否是新建的文本框,如我们是新建的记事本,则在保存时则需要选择保存路径和文件名,如果我们是对原有的文件进行二次编辑,则我们在点击保存按钮时只需要进行保存即可,无需重新选择文件的保存路径。

函数代码如下:


//保存按钮

private void toolStripButton_save_Click(object sender, EventArgs e)

{



    

    //创建一个筛选器

    saveFileDialog1.Filter = ("文本文档(*,txt)|*.txt");

    // 判断如果当前文本框不为空,则进行保存

    if (textBox_Text.Text.Trim() != "")

    {

        //如果记事本文件是新的,则选择路径保存

        if (this.Text == "记事本")

        {

            //保存文件到用户的指定目录下

            //判断用户是保存还是取消

            if (saveFileDialog1.ShowDialog() == DialogResult.OK)

            {

                //获取用户选择的文件及路径

                string path = saveFileDialog1.FileName;

                //保存文件到指定路径

                StreamWriter sw = new StreamWriter(path, false);

                sw.WriteLine(textBox_Text.Text.Trim());

                //在窗体上方显示路径

                this.Text = path;

                //清空缓存

                sw.Flush();

                sw.Close();

            }

        }

        //如果是已经打开的文件,则直接进行保存

        else

        {

            //保存文件到用户的指定目录下 

            //获取用户选择的文件及路径

            string path = this.Text;

            //保存文件到指定路径

            StreamWriter sw = new StreamWriter(path, false);

            sw.WriteLine(textBox_Text.Text.Trim());

            sw.Flush();

            sw.Close();

            

        }

        

        

    }

    //如果为空,则进行消息框提示

    else

    {

        MessageBox.Show("当前文本框为空!\n不可进行保存!", "警告");

    }

} 

打开文件控件函数:


在进行文件的打开操作时,我们需要对所打开的文件进行筛选,只要求打开txt格式的文本文件即可。

实现函数如下:


 //打开文件

    private void toolStripButton_open_Click(object sender, EventArgs e)

    {

        //筛选一个打开文件



### 最后

在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例
**感兴趣的朋友可以[点击Java学习](https://gitee.com/vip204888/java-p7)免费获取。**
![](https://img-blog.csdnimg.cn/img_convert/36ef8d8d505c44f7db24ff52340e0e48.png)



![MyBatis答案解析](https://img-blog.csdnimg.cn/img_convert/65e7b5250566dbb7f7c2acff35b212e6.png)
**由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!**

大家看完有什么不懂的可以在下方留言讨论也可以关注。

觉得文章对你有帮助的话记得关注我点个赞支持一下!

on_open_Click(object sender, EventArgs e)

    {

        //筛选一个打开文件



### 最后

在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例
**感兴趣的朋友可以[点击Java学习](https://gitee.com/vip204888/java-p7)免费获取。**
[外链图片转存中...(img-ToKvTzdi-1628337958869)]



[外链图片转存中...(img-XfblsrHb-1628337958871)]
**由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!**

大家看完有什么不懂的可以在下方留言讨论也可以关注。

觉得文章对你有帮助的话记得关注我点个赞支持一下!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值