基于C#的图形化用户设计来构造个性化的记事本(附完整版代码)

简介: 基于C#的图形化用户设计来构造个性化的记事本(附完整版代码)

根据C#的图形化用户设计来构造个性化的记事本/日记本,可以进行文字编辑(不要求保存);


功能需求


  • 能够进行文字的编辑(包括文字颜色和字体的更改)
  • 能够将编辑的文字进行保存
  • 能够打开文件进行编辑



实验流程


创建实验环境


本实验使用Visual Studio 2019环境进行程序的设计与编写

  1. 新建一个Windows窗体应用项目,目标框架为.NET Core 3.1
  2. 添加工具栏(ToolStrip)和按钮(button)


0cda92a6cfe0c93365bb56445c45dc62.png


  1. 设置工具栏和与按钮的属性


e61ac2d8fab7a62ee0dff125c20bb2d5.png


  1. 添加富文本框(RichTextBox)并进行属性设置


32ef421b4bbb5e8d0360c6720bb6f345.png


  1. 添加openFileDialog、saveFileDialog、fontDialog、colorDialog并与button_Click事件关联


6aee378be1c425334db2352b1a9ccaaf.png

980040491360ffe146cda48382f0e7b2.png


实验测试


  1. 文本的编辑


74ea452fe3abf96edb211a7f95ce7a83.png


  1. 文本的颜色更改和字体更改


87b97e14944f98e156102044ca417076.png

1f480b2a8802d092b5692a1e58c7037a.png


71a312da6db307ea3205c1f3817a2079.png


  1. 文件的保存


d5407b771cdbbaec55ead626fc75d709.png


  1. 文件的打开


9b10a4b6f8383dbfb5fd09342023b8d7.png


代码实现


usingSystem;usingSystem.Collections;usingSystem.Drawing;usingSystem.Drawing.Text;usingSystem.Windows.Forms;namespaceNotepad{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}//窗体加载事件
privatevoidForm1_Load(objectsender,EventArgse){}privatevoidtoolStripButtonOpen_Click(objectsender,EventArgse){DialogResultdr=openFileDialog1.ShowDialog();//获取打开文件的文件名
stringfilename=openFileDialog1.FileName;if(dr==System.Windows.Forms.DialogResult.OK&&!string.IsNullOrEmpty(filename)){richTextBoxNote.LoadFile(filename,RichTextBoxStreamType.PlainText);}}privatevoidtoolStripButtonSave_Click(objectsender,EventArgse){DialogResultdr=saveFileDialog1.ShowDialog();//获取所保存文件的文件名
stringfilename=saveFileDialog1.FileName;if(dr==System.Windows.Forms.DialogResult.OK&&!string.IsNullOrEmpty(filename)){richTextBoxNote.SaveFile(filename,RichTextBoxStreamType.PlainText);}}privatevoidtoolStripButtonFont_Click(objectsender,EventArgse){//显示字体对话框
DialogResultdr=fontDialog1.ShowDialog();//如果在对话框中单击“确认”按钮,则更改文本框中的字体
if(dr==DialogResult.OK){richTextBoxNote.Font=fontDialog1.Font;}}privatevoidtoolStripButtonColor_Click(objectsender,EventArgse){//显示颜色对话框
DialogResultdr=colorDialog1.ShowDialog();//如果选中颜色,单击“确定”按钮则改变文本框的文本颜色
if(dr==DialogResult.OK){richTextBoxNote.ForeColor=colorDialog1.Color;}}}}


实验收获


此次实验考查了C#图形化编程的相关知识,与书本上第9章 Windows窗体应用程序设计和第10章 用户界面设计有关。除此之外实验的完成也搜集了很多课外的资料。C# 图形化编程参考


完整版代码:https://download.csdn.net/download/pythonyanyan/87389411

相关文章
|
1月前
|
C# Windows
C#通过代码实现快捷键编辑
C#通过代码实现快捷键编辑
|
3月前
|
开发框架 .NET 编译器
C# 10.0中Lambda表达式的改进:更简洁、更灵活的代码编写体验
【1月更文挑战第21天】随着C#语言的不断发展,Lambda表达式作为一种简洁、高效的函数式编程工具,在C# 10.0中迎来了重要的改进。本文将详细探讨C# 10.0中Lambda表达式的新特性,包括参数类型的推断增强、自然类型的Lambda参数以及Lambda表达式的属性改进等。这些改进不仅简化了Lambda表达式的编写过程,还提升了代码的可读性和灵活性,为开发者带来了更优质的编程体验。
|
3月前
|
C# 开发者
C# 10.0中的文件范围命名空间:简化代码组织的新方式
【1月更文挑战第18天】C# 10.0引入了文件范围的命名空间,这是一种新的语法糖,用于更简洁地组织和管理代码。文件范围命名空间允许开发者在每个文件的基础上定义命名空间,而无需显式使用花括号包裹整个文件内容。本文将深入探讨文件范围命名空间的工作原理、使用场景以及它们为C#开发者带来的便利。
|
4月前
|
存储 人工智能 C#
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
36 0
|
5月前
|
开发框架 .NET C#
如何调试 C# Emit 生成的动态代码?
如何调试 C# Emit 生成的动态代码?
|
4月前
|
IDE C# 开发工具
C# | 多线程批量下载文件(创建N个线程同时批量下载文件,只需要几行代码而已)
批量下载文件时使用多线程可以有效缩短完成时间,本文将讲解如何使用C#+CodePlus扩展库快速完成多线程的文件下载。 大部分代码由IDE自动生成,需要我们自己编写的代码正好**10行**。也就是说,只需要10分钟,就可以手撸一个多线程的批量下载器。
88 0
C# | 多线程批量下载文件(创建N个线程同时批量下载文件,只需要几行代码而已)
|
2月前
|
数据采集 JSON 前端开发
从代码到内容:使用C#和Fizzler探索Instagram的深处
Instagram是一个流行的社交媒体平台,拥有数亿的用户和海量的图片和视频内容。如果您想要从Instagram上获取一些有用的信息或数据,您可能需要使用爬虫技术来自动化地抓取和分析网页内容。本文将介绍如何使用C#和Fizzler这两个强大的工具,来实现一个简单而高效的Instagram爬虫,从代码到内容,探索Instagram的深处。
|
3月前
|
存储 传感器 监控
工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)
工业相机如何实现实时和本地Raw格式图像和Bitmap格式图像的保存和相互转换(C#代码,UI界面版)
32 0
|
3月前
|
存储 C# 容器
掌握 C# 变量:在代码中声明、初始化和使用不同类型的综合指南
变量是用于存储数据值的容器。 在 C# 中,有不同类型的变量(用不同的关键字定义),例如: int - 存储整数(没有小数点的整数),如 123 或 -123 double - 存储浮点数,有小数点,如 19.99 或 -19.99 char - 存储单个字符,如 'a' 或 'B'。Char 值用单引号括起来 string - 存储文本,如 "Hello World"。String 值用双引号括起来 bool - 存储具有两个状态的值:true 或 false
37 2
|
8月前
|
存储 C# 图形学
代码解析 C# 引用类型还是值类型
代码解析 C# 引用类型还是值类型