C#的基于.net framework的Winform编程 - 编程手把手系列文章
对于C#,笔者最早接触的是ASP.NET里的开发,后面对Winform程序也有一定的开发,但是真正理解和重新编码是这些年的事,在我的C#标签里有一些例子,记录了winform程序开发的一些功能。此文只是记录基于.net framework的用C#开发Winform程序的一个过程。
1、 安装Visual Studio 2022;
首先先安装好VS 2022 :https://www.cnblogs.com/lzhdim/p/18100292
2、 进行编码;
1) 项目的配置;
这里参考Dll类库那个,对Exe项目进行设置:
https://www.cnblogs.com/lzhdim/p/18141327
2) 添加类库;
这里参考类库那个,添加引用相关的类库:
https://www.cnblogs.com/lzhdim/p/18148890
此例子里的类库为笔者收集整理的,具体应用见开源研究系列博文。
3) UI编码;
这里提供例子,添加窗体、使用的类库。其它的参考笔者的开源研究系列的博文里的例子。
(1) 应用入口;
应用入口,需要做的是处理传入参数,处理应用重复打开的消息,以及处理应用打开时的操作。
(2) 统一管理变量;
这里用单例模式,将应用使用到的对象进行统一管理。
https://www.cnblogs.com/lzhdim/p/17638267.html
(3) UI界面的设计;
对于UI界面,笔者这里使用的是无边框窗体的设计,使用到的类库以及使用方法参考其它博文例子。
https://www.cnblogs.com/lzhdim/p/17576147.html
https://www.cnblogs.com/lzhdim/p/17638276.html
https://www.cnblogs.com/lzhdim/p/18114056
对于UI界面,建议读者参考Windows的设计,因为每个操作系统的UI都有一定的区别,或者找美工设计一个界面,然后使用这个界面即可。这里这个是笔者的一个例子:
点击属性,打开资源窗体,选择“图标”,点添加资源,选择图标;
选择文件,添加资源,添加文本资源;后续根据自己的需要添加项目需要的资源;
这里还有一个播放音频文件的例子:
https://www.cnblogs.com/lzhdim/p/18077721
这里更改项目安全性:
点击启动,然后勾选掉。
这里更改为Administrator:
这里是无边框窗体的使用方法:
这里提供了一个模板,已经包含了该应用基本的功能。
至于窗体应用请参考笔者其它的例子。这里这个模板能够提供基本的功能,请读者在此基础上进行开发即可。
(4) 界面设计的方法;
新建一个窗体;
切换到工具箱界面;
拖放控件到窗体;
在工具箱上点击鼠标左键,将控件拖放到窗体,并设置控件属性。
添加控件的消息处理函数;
切换到属性窗体,点击顶部的事件按钮,切换到事件列表。找到需要的事件,双击打开代码窗体,在窗体里添加事件处理的代码。
3、 程序界面;
这里这个是此应用的一个截图:
4、 源码下载;
提供此例子的源码下载:https://download.csdn.net/download/lzhdim/89194429
上面介绍了笔者用C#开发Winform程序的过程的一个例子,希望对刚接触C#开发的读者以帮助。对于.net framework的例子就介绍到这,下次介绍其它例子。
C#的基于.net framework的Winform编程 - 编程手把手系列文章的更多相关文章
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第六章:管理产品图片——多对多关系(上篇)
在这章中,我们将学习如何创建一个管理图片的新实体,如何使用HTML表单上传图片文件,并使用多对多关系将它们和产品关联起来,如何将图片存储在文件系统中.在这章中,我们还会学习更加复杂的异常处理,如何向模 ...
- 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录
ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成: ...
- 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录(转)
出处:http://www.cnblogs.com/mienreal/p/4528470.html ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视 ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第四章:更高级的数据管理
在这一章我们将学习如何正确地删除分类信息,如何向数据库填充种子数据,如何使用Code First Migrations基于代码更改来更新数据库,然后学习如何执行带有自定义错误消息的验证. 注意:如果你 ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点
在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之目录导航
ASP.NET MVC with Entity Framework and CSS是2016年出版的一本比较新的.关于ASP.NET MVC.EF以及CSS技术的图书,我将尝试着翻译本书以供日后查阅. ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第三章:搜索、高级过滤和视图模型
在这一章中,我们首先添加一个搜索产品的模块以增强站点的功能,然后使用视图模型而不是ViewBag向视图传递复杂数据. 注意:如果你想按照本章的代码编写示例,你必须完成第二章或者直接从www.apres ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第五章:排序、分页和路由
本章的重点是对产品信息增加排序和分页的功能,以及使用ASP.NET Routing特性添加更加友好的URL支持. 注意:如果你想按照本章的代码编写示例,你必须完成第四章或者直接从www.apress. ...
- Ligg.EasyWinApp-100-Ligg.EasyWinForm:一款Winform应用编程框架和UI库介绍
本项目是一个Winform应用编程框架和UI库.通过这个该框架,不需任何代码,通过XML配置文件,搭建任意复杂的Windows应用界面,以类似Execel公式的方式实现基本的过程控制(赋值.条 ...
随机推荐
- 聊聊大模型"打字机"效果的背后技术——SSE
SSE:Server Sent Event:服务器发送事件. Server-Sent Events(SSE)是一种由服务器向客户端推送实时数据的技术.它是构建基于事件的.服务器到客户端的通信的一种方法 ...
- ZYNQ7000系列学习之TF卡读写(2)
ZYNQ读写实验(2) 1.实验原理 在TF卡读写实验1中,已经将每一个步骤都做完了,但是最后得到的结果是错误的.那个时候由于TF没有格式化,显示的是错误信息.在格式化后,再次实验,得到了预期的结果. ...
- BlockQNN:NASNet同期,商汤提出block-wise版的MetaQNN | CVPR 2018
作为NASNet的同期论文,BlockQNN同样地将目光从整体网络转换到了block-wise,整体思路大概是MetaQNN的block版,增加了一些细节地小修改.配合Early Stop Strat ...
- Tomcat内存马分析
前言 自己简单搭建一个Tomcat项目,IDEA里选择JavaEE,勾上web就行了 加个依赖(这样就能找到三个Context了: <dependency> <groupId> ...
- OpenMP优化for循环的基础运用
OpenMP优化for循环的基础运用 OpenMP作为多线程并行优化API,其使用方式与C++自带的多线程使用方式有很大的不同. 在使用OpenMP时,我们是通过 #pragma omp+字句 所组成 ...
- #Kruskal,分治#AT4569 Connecting Cities
题目传送门 考虑如何去掉这个绝对值, 换句话说,如何减少边数并且能建出 MST. 在求解偏序问题时,往往会分而治之, 这样原来 \(O(n^2)\) 的做法就能够被优化. 考虑将所有点对半折开, 左半 ...
- 【FAQ】接入华为帐号服务过程中常见问题总结
华为帐号服务(Account Kit)为开发者提供简单.安全的登录授权功能,用户不必输入帐号.密码和繁琐验证,就可以通过华为帐号快速登录应用,即刻使用App.这篇文章收集了开发者们集成华为帐号服务中会 ...
- Python基于Excel数据加以反距离加权空间插值并掩膜图层
本文介绍基于Python中ArcPy模块,实现Excel数据读取并生成矢量图层,同时进行IDW插值与批量掩膜的方法. 1 任务需求 首先,我们来明确一下本文所需实现的需求. 现有一个记录有 ...
- openGauss数据与PostgreSQL的差异对比
openGauss 数据与 PostgreSQL 的差异对比 前言 openGauss 数据库已经发布 2.0.1 版本了,中启乘数科技是一家专业的专注于极致性能的数据库服务提供商,所以也关注 ope ...
- Linux系统中查找文件的方法
-name 必须用到的选项.表明要求系统按照文件名查找. 一般格式:find /(dirname) -name filename 具体文件名查找法: 如果知道了某个文件的文件名,而不知道这个文件放到哪 ...