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公式的方式实现基本的过程控制(赋值.条 ...
随机推荐
- FineReport报表绕过预览直接打印
常规情况下,打印报表的一版操作是: 1.点击相关报表查询页面,展示查询结果,即即将打印的页面 2.点击打印按钮,进入浏览器的打印预览界面 3.点击打印 但是某些时候我们可能会希望不需要点开某张报表即可 ...
- AndroidStudio开发体温上报安卓APP------问题总结
总结一下出现的问题: 1.首先是AndroidStudio的配置问题 在这里可以看sdk版本配置 这里可以看gradle的版本信息和下载目录 AndroidStudio手动配置gradle 1.首先编 ...
- #根号分治,前缀和,双指针#CF1446D2 Frequency Problem (Hard Version)
题目 给定一个长度为 \(n\) 的序列,问是否存在一个最长的区间使得至少存在两个众数. 分析 实际上 Easy Version 是用来启发大于根号的做法的. 众数可以说有一个性质吧,答案区间中的其中 ...
- #树上启发式合并,位运算#CF570D Tree Requests
题目 给定一个以 \(1\) 为根的 \(n\) 个结点的树,每个点上有一个字母\((a-z)\),每个点的深度定义为该节点到 \(1\) 号结点路径上的点数. 每次询问 \(a, b\) 查询以 \ ...
- go~istio加载wasm的步骤
参考 https://github.com/higress-group/proxy-wasm-go-sdk/tree/main/proxywasm https://github.com/tetrate ...
- 使用 OpenCV 进行文档矫正
使用 OpenCV 进行文档矫正 本文只发布于博客园与pchar博客 std::vector<std::vector<cv::Point>> cvhelper::findCor ...
- 双向链表的基本实现【数据结构与算法—TypeScript 实现】
笔记整理自 coderwhy 『TypeScript 高阶数据结构与算法』课程 双向链表:拥有两个指针方向的链表 DoublyNode 结构: prev:指向上一个节点 value:节点值 next: ...
- 给你安利一款鲁班大叔开发的maven依赖搜索神器
写在前面 一款好的插件往往能提高我们的开发效率.今天就给大家安利一款maven 依赖搜索插件. 插件是自己一直关注的鲁班大叔开发的,用了几天真的好用 废话不多说,我们就来看看这是一款什么插件 一.ma ...
- 【直播回顾】Hello HarmonyOS应用篇第六课——短视频应用开发
由HDE夏德旺老师主讲的Hello HarmonyOS进阶系列应用篇第六课<短视频应用开发>, 已于6月8日晚上 19 点在HarmonyOS社群内成功举行. 本节课夏德旺老师带领大家了解 ...
- @SpringBootConfiguration注解
@SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类, 并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到sprin ...