对于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编程 - 编程手把手系列文章的更多相关文章

  1. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第六章:管理产品图片——多对多关系(上篇)

    在这章中,我们将学习如何创建一个管理图片的新实体,如何使用HTML表单上传图片文件,并使用多对多关系将它们和产品关联起来,如何将图片存储在文件系统中.在这章中,我们还会学习更加复杂的异常处理,如何向模 ...

  2. 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录

    ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成: ...

  3. 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录(转)

    出处:http://www.cnblogs.com/mienreal/p/4528470.html ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视 ...

  4. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第四章:更高级的数据管理

    在这一章我们将学习如何正确地删除分类信息,如何向数据库填充种子数据,如何使用Code First Migrations基于代码更改来更新数据库,然后学习如何执行带有自定义错误消息的验证. 注意:如果你 ...

  5. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  6. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点

    在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...

  7. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之目录导航

    ASP.NET MVC with Entity Framework and CSS是2016年出版的一本比较新的.关于ASP.NET MVC.EF以及CSS技术的图书,我将尝试着翻译本书以供日后查阅. ...

  8. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第三章:搜索、高级过滤和视图模型

    在这一章中,我们首先添加一个搜索产品的模块以增强站点的功能,然后使用视图模型而不是ViewBag向视图传递复杂数据. 注意:如果你想按照本章的代码编写示例,你必须完成第二章或者直接从www.apres ...

  9. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第五章:排序、分页和路由

    本章的重点是对产品信息增加排序和分页的功能,以及使用ASP.NET Routing特性添加更加友好的URL支持. 注意:如果你想按照本章的代码编写示例,你必须完成第四章或者直接从www.apress. ...

  10. Ligg.EasyWinApp-100-Ligg.EasyWinForm:一款Winform应用编程框架和UI库介绍

        本项目是一个Winform应用编程框架和UI库.通过这个该框架,不需任何代码,通过XML配置文件,搭建任意复杂的Windows应用界面,以类似Execel公式的方式实现基本的过程控制(赋值.条 ...

随机推荐

  1. VIVADO原理图中的概念

    VIVADO原理图的基本作用 * 查看不同层次下的逻辑关系或者网表关系 * 检查逻辑设计是否可以通过数字电路实现 * 观察重要的信号的走向,分析可能的优化方向 VIVADO原理图几个基本概念 (1) ...

  2. Spring Cloud导入Spring Boot项目当作子模块微服务IDEA不识别子module问题

    1.在父工程下面引入module. <modules> <module>study-design-mode</module> </modules> 2. ...

  3. #树形dp,直径#51nod 1812 树的双直径

    题目 给定一棵树,边权是整数 \(c_i\) ,找出两条不相交的链(没有公共点), 使得链长的乘积最大(链长定义为这条链上所有边的权值之和,如果这条链只有1个点则链长视为0). \(n\leq 4*1 ...

  4. #矩阵乘法,斐波那契#洛谷 2544 [AHOI2004] 数字迷阵

    题目 分析 oeis找规律得到第一列和第二列的通项公式,然后矩阵乘法 代码 #include <cstdio> #include <cctype> #include <c ...

  5. vue3中router配置中的children怎么用

    在Vue 3中,当你使用Vue Router创建路由配置时, children属性允许你为某个路由定义嵌套路由.这意味着你可以在父路由下设置子路由,从而构建出具有层级结构的URL路径. 这里是一个基本 ...

  6. SynchronousQueue详解

    目录 简介 举例说明 总结 SynchronousQueue详解 简介 SynchronousQueue是BlockingQueue的一种,所以SynchronousQueue是线程安全的.Synch ...

  7. 王莉:将开发文档英文化和本地化,我们努力让OpenHarmony走向全球

    编者按:在 OpenHarmony 生态发展过程中,涌现了大批优秀的代码贡献者,本专题旨在表彰贡献.分享经验,文中内容来自嘉宾访谈,不代表 OpenHarmony 工作委员会观点. 王莉 华为技术有限 ...

  8. [IOI2000]邮局 题解

    简要题意 线段上有 \(V\) 个村庄,现在要建 \(P\) 个邮局,使每个村庄到最近的邮局的距离之和最小. 50分做法 设\(dp[i][j]\) 表示第一个村庄到第 \(i\) 个村庄,建了 \( ...

  9. 【FAQ】调用应用内支付SDK时报错,如何用tag对问题进行排查和分析

    华为应用内支付服务(In-App Purchases,IAP)为开发者提供便捷的应用内支付体验和简便的接入流程.开发者的应用集成IAP SDK后,调用IAP SDK接口,启动IAP收银台,即可实现应用 ...

  10. sql 语句系列(记录时间差)[八百章之第十八章]

    计算当前记录和下一条记录之间的日期差 关键点在于如何获得下一条日期. mysql 和 sql server select x.*,DATEDIFF(day,x.HIREDATE,x.next_hd) ...