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公式的方式实现基本的过程控制(赋值.条 ...
随机推荐
- Oracle 几种行转列的方式 sum+decode sum+case when pivot
原始数据: 方式一: select t_name, sum(decode(t_item, 'item1', t_num, 0)) item1, sum(decode(t_item, 'item2', ...
- VIVADO原理图中的概念
VIVADO原理图的基本作用 * 查看不同层次下的逻辑关系或者网表关系 * 检查逻辑设计是否可以通过数字电路实现 * 观察重要的信号的走向,分析可能的优化方向 VIVADO原理图几个基本概念 (1) ...
- KingbaseES错误unsupported for database link处理
KingbaseES使用dblink查询报错:unsupported for database link 适用于: KingbaseES所有版本. 问题现象: KingbaseES创建kingbase ...
- linux下firefox用css配置把网页设置成黑白
网址输入 about:config 忽略警告 toolkit.legacyUserProfileCustomizations.stylesheets设置为true 在 /home/user/.mozi ...
- net.sf.json.JSONObject,将MySQL数据库的数据读出转化为json数据
maven依赖: 1 <dependency> 2 <groupId>net.sf.json-lib</groupId> 3 <artifactId>j ...
- MySQL登录退出与导入导出
登录退出MySQL 登录命令 mysql -u 用户名 -p 密码 -h IP -P 端口 mysql -u root -p password -h 127.0.0.1 -P 3306 一般登录命令 ...
- #线段树#洛谷 4269 [USACO18FEB]Snow Boots G
题目传送门 分析 模型转换一下,能通过当且仅当最长的无法通过段小于 \(d\),(这点应该是此题的精华吧) 那么按照最大深度从小到大排序,双指针在线段树上删除无法通过段,求最长区间即可 代码 #inc ...
- Matplotlib绘图设置---文字和标签
文字和文字位置 通过plt.text()或ax.text()命令可在图形上添加文字. Signature: ax.text(x, y, s, fontdict=None, withdash=<d ...
- 网上 server2008数据库恢复方法
从网下下载文件有两个:XX_DB_log.ldf 和XX_DB.mdf 首先:文件处理:右键--属性--安全---编辑--勾选"完全控制"--确定--即可.(两个文件都是相同操作) ...
- C语言 04 基本数据类型
整数 整数就是不包含小数点的数字,整数包含以下几种类型: short :占用 2 个字节,16 个 bit 位. int:占用 4 个字节,32 个 bit 位,能够表示 -2^32 到 2^32 之 ...