基于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#程序如何编译成Native代码
【10月更文挑战第15天】在C#中,可以通过.NET Native和第三方工具(如Ngen.exe)将程序编译成Native代码,以提升性能和启动速度。.NET Native适用于UWP应用,而Ngen.exe则通过预编译托管程序集为本地机器代码来加速启动。不过,这些方法也可能增加编译时间和部署复杂度。
|
3月前
|
C# 开发者 Windows
在VB.NET项目中使用C#编写的代码
在VB.NET项目中使用C#编写的代码
57 0
|
1月前
|
C#
C# 图形验证码实现登录校验代码
C# 图形验证码实现登录校验代码
76 2
|
1月前
|
中间件 数据库连接 API
C#数据分表核心代码
C#数据分表核心代码
36 0
|
3月前
|
物联网 C# Windows
看看如何使用 C# 代码让 MQTT 进行完美通信
看看如何使用 C# 代码让 MQTT 进行完美通信
578 0
|
3月前
|
数据安全/隐私保护 C# UED
利用 Xamarin 开展企业级移动应用开发:从用户登录到客户管理,全面演示C#与Xamarin.Forms构建跨平台CRM应用的实战技巧与代码示例
【8月更文挑战第31天】利用 Xamarin 进行企业级移动应用开发能显著提升效率并确保高质量和高性能。Xamarin 的跨平台特性使得开发者可以通过单一的 C# 代码库构建 iOS、Android 和 Windows 应用,帮助企业快速推出产品并保持一致的用户体验。本文通过一个简单的 CRM 示例应用演示 Xamarin 的使用方法,并提供了具体的代码示例。该应用包括用户登录、客户列表显示和添加新客户等功能。此外,还介绍了如何增强应用的安全性、数据持久化、性能优化及可扩展性,从而构建出功能全面且体验良好的移动应用。
52 0
|
3月前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
104 0
|
3月前
|
前端开发 程序员 API
从后端到前端的无缝切换:一名C#程序员如何借助Blazor技术实现全栈开发的梦想——深入解析Blazor框架下的Web应用构建之旅,附带实战代码示例与项目配置技巧揭露
【8月更文挑战第31天】本文通过详细步骤和代码示例,介绍了如何利用 Blazor 构建全栈 Web 应用。从创建新的 Blazor WebAssembly 项目开始,逐步演示了前后端分离的服务架构设计,包括 REST API 的设置及 Blazor 组件的数据展示。通过整合前后端逻辑,C# 开发者能够在统一环境中实现高效且一致的全栈开发。Blazor 的引入不仅简化了 Web 应用开发流程,还为习惯于后端开发的程序员提供了进入前端世界的桥梁。
339 0
|
3月前
|
C#
C# 跳过值班时间代码逻辑
C# 跳过值班时间代码逻辑
32 0
|
3月前
|
存储 搜索推荐 C#
WPF/C#:让绘制的图形可以被选中并将信息显示在ListBox中
WPF/C#:让绘制的图形可以被选中并将信息显示在ListBox中
43 0